Speziell auf
SOAP und diese RIO Klassen bezogen, glaub ich eher, du benutzt das falsch. Denn diese Klassen sind eigentlich dafür da, sie über ein von ihnen dynamisch implementieres Interface (Stichwort: TVirtualInterface) anzusprechen. Und dann greift Referenzzählung von Interfaces.
Zu der Problematik allgemein: Ich hab vor längerer Zeit Weak References in Spring eingebaut und mit diesen kann man auch einfach implementieren, dass man automatisch ObjektReferenzen auf nil setzen lässt, wenn das entsprechende Objekt freigegeben wird, so dass sie dann nicht mehr auf ungültigen Speicher zeigen (Stichwort: dangling pointer)
Theoretisch kann man sogar den in der
RTL implementieren Mechanismus benutzen, allerdings sind alle notwendigen Routinen dafür (RegisterWeakRef und UnregisterWeakRef in System.pas) nicht von außen zugänglich.