Nur die Frage die sich mir jetzt stellt ist: Warum gibt es keine MemoryLeaks, wenn ich das Frame manuell freigebe anstatt das vom Owner machen zu lassen?
Weil beim
DestroyWindowHandle des Forms schon indirekt der Count der Combobox-Items auf 0 gesetzt wird und das
TFrame1.Destroy ins Leere läuft; bei der manuellen Freigabe aber erst das
Destroy ausgeführt wird, was dann im inherited erst die ComboBox freigibt.
Du kannst übrigens die MemoryLeaks vermeiden, wenn du das Frame schon im
FormDestroy-Event freigibst anstatt auf die implizite Freigabe zu warten. Das
DestroyWindowHandle wird nämlich erst danach ausgeführt.