lo que sucede es que si trabajas con formularios normales, eso quiere decir que no se destruyen al cerrarse tendrias que destruirlos tu, si colocas el owner de los componentes como self eso quiere que el formulario se encarga de destruirlos antes de destruirse el, la solucion que se me ocurre es la siguiente:
Mostrar el formulario tipo modal y destruirlo despues de la ejecución:
Código Delphi
[-]
if not Assigned(MiForm) then MiForm := MiForm.Create(nil);
try
miform.Showmodal;
finally
FreeanNil(MiForm);
end;
Destruir los componentes en el evnto onClose del formulario
Código Delphi
[-]
while MiForm.ControlCount > 0 do
begin
FreeandNil(MiForm.Controls[0]);
end;
Suerte espero te sirva