Delphi-Quellcode:
var
ObjektReferenz : TObjektTyp;
begin
ObjektReferenz = TObjektTyp.Create();
Objektreferenz stellt einen Pointer dar, der auf eine Instanz von TObjektTyp zeigt (d.h.: Objektvariablen sind immer Pointer).
Durch den Aufruf wird eine Instanz von TObjektTyp erzeugt und ihre Speicheradresse Objektreferenz zugewiesen.
Wenn man nun
ObjektReferenz = TObjektTyp.Create();
ein zweitesmal aufruft, wird eine neue Instanz erstellt und ihre Adresse ObjektReferenz zugewiesen - wodurch die erste Adress-Referenz überschrieben wird. Du "weisst" dann nicht mehr, wo die Objektinstanz ist, obwohl sie noch im Speicher ist. Daher kannst du sie auch nicht mehr freigeben.