I have the following routine that destroys the forgotten forms opened by the user:
...
for i := qtd - 1 downto 0 do
begin
if (Application.components[i] is TForm) then
begin
TForm(Application.components[i]).Close;
*** AQUI A NECESSIDADE DO ***
FreeAndNil(Application.components[i]);
end;
end;
Please note that I need to end the forms with FreeAndNil but I am not able to pass that variable, since it requires a TObject in case the Unit / Form to be released.