Hola! a ver si te ayudo...no entendi mucho pero bueh. Mira los formularios los tenes que crear dinamicamente..de nada sirve tenerlos en memoria al arrancar el programa... Si el formulario no se libera, osea no le haces un free o un freeandnil sigue estando en memoria si vos le haces un close, él sigue estando en memoria. Si le volves hacer show se muestra..se entiende?.
El show te permite volver al form de atras, en cambio el showmodal no, no devuelve el control al form que lo llamo hasta que no se cierra, ademas permite setearle la propiedad modalResult para saber como se salio del form.
Espero te haya guiado! exitosss
LA PATRIA SERA LIBRE!