I had the same problem. In MyFormHandleEvent, this code doesn't cause any leak:
... case frmCloseEvent: // Some operations such save variables, or other things... SaveMyVariables(); // Free memory for the form frmP = FrmGetActiveForm(); FrmEraseForm(frmP); FrmDeleteForm(frmP); handled = true; // I actually handled the frmCloseEvent break; Instead, this code causes X leak: case frmCloseEvent: // Some operations such save variables, or other things... SaveMyVariables(); handled = true; // I didn't handle the frmCloseEvent, // but I'm going to tell to the system that I do it break; Last code causes X*n leaks if I open and close the form n times. So I have to set handled = true only if I actually manage the event. Or instead let handled = false if I don't call FrmEraseForm and FrmDeleteForm(frmP). Letting handled = false tells to the Operating System to manage it for me. Your problem may be similar to mine. I hope this will be usefull for you. Regards Flavio Renga -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/