FreeAndNil setzt(e) zwar die Variable auf NIL,
aber ein Interface bekommt davon nichts mir, da dabei Intf._Relase nicht aufgerufen wird.
Außerdem wird Obj.Destroy ausgeführt, bzw. wird versucht, aber das gibt es ja im Interface so garnicht, also eigentlich müsste es hier auch schön knallen,
wenn in der Variable wirklich ein Interface steckt, anstatt einer Objekt-Referenz.
Ob das Intf._Release davon was mitbekommt, spielt ja keine Rolle wenn man auf die Referenzzählung verzichtet. Meine Implementierung von _Relase ist einfach Result := -1;
Die Freigabe erfolgt auch auf ein Objekt, das ist mit den constraints für T sichergestellt, deswegen kann ich auch ein Objekt vorher erzeugen ( T.Create).