Schlimmer wird es noch, wenn solche Records kopiert werden ... wer gibt das dann frei.
Da fängt man dann schonmal an selbst die Referenzen zählen zu müssen.
Für sowas sind dann die Custom Managed Records nett.
Da kann/muß man dann auf alles reagieren (initialisierung, finalisierung und kopieren)
Oder man geht eben zu Record-Pointern oder direkt zu Objekten über (genau genommen sind Objekte intern auch nichts anderes, als ein Zeiger auf einen Record und dazu noch bissl TypeInfos/
RTTI, mit impliziter Dereferenzierung)