Der "richtige" Weg ist Form.DisposeOf aufzurufen (welches aber nicht in älteren Delphi Versionen vorhanden ist). Die Funktion hat Embarcadero genau für diesen Fall eingebaut, nachdem sie das "Free" zweckentfremdet haben. Aber "DisposeOf sollte man nur in Sonderfällen aufrufen". Leider sind aber die alle (
GUI) Controls Sonderfälle, da irgendwo im inneren der FMX eine Strong-Reference auf sie existiert.
So kann man ein Konzept auch ad absurdum führen.