Man muss eben mehr aufpassen, wenn man es mit Klassen und überladenen Operatoren zu tun hat. Delphi/Pascal ist eben nicht .NET, wo einem der übriggebliebene Müll weggeräumt wird.
Sowas sollte man ja schließlich auch nicht machen (solange man nicht noch eine Referenz übrig hat):
Delphi-Quellcode:
var
a: TObject;
begin
a := TObject.Create;
(...)
a := TObject.Create;
(...)
a.Free;
end.
Gruß,
Sven