Um ein Objekt freizugeben, musst du es nicht erst durch einen Pointer referenzieren.
Sprich:
Delphi-Quellcode:
var
Obj: TObject;
begin
Obj := TObject.Create; // Objekt erzeugen
Obj.Destroy; // ...und wieder zerstören
Obj.Free; // ...das selbe, nur gibt's keinen Fehler, wenn das Objekt schon weg ist
FreeAndNil(Obj); // ruft Free auf, und setzt die Objektvariable auf nil