Kann ich bestätigen. Der Speicher wird vom Betriebssystem automatisch beim verlassen des Programms freigegeben.
Nichsdestotrotz würde ich die Freigabe explizit in Destroy bzw. OnDestroy des Hauptformulars vornehmen.
Da Du Delphi 2007 benutzt kannst Du auch mal folgendes tun:
In den ProjektQuelltext (Project / View Source) folgendes direkt nach begin einfügen:
ReportMemoryLeaksOnShutdown := True
Du wirst nun beim Beenden des Programms auf alle Speicherlecks hingewiesen. Ziel sollte es sein das, egal wie viel man mit dem Programm arbeitet und egal wie lange es lief, am Ende keine Meldung über Speicherlecks kommen.
Sobald Du den Stand hast das keine Speicherlecks mehr angezeigt werden kannst Du mögliche Speicherlecks bei neuem Code schnell entdecken da nach einer Änderung dann ja plötzlich wieder Lecks auftreten