Hallo,
jede Instanz einer Klasse (Objekt) ist am Ende ein Pointer - das gilt so für ziemlich alle Ressourcen die du zur Laufzeit anforderst - den da kann zur Compilezeit ja noch keine Adresse festgelegt werden wo das mal im Adreßraum liegen wird.
Der Typ
string z.B. ist auch nur ein Pointer auf einen nullterminierten String (PChar) mit noch einer zusätzlichen Längenangabe beim Offset -2 (?). Die gibt's also überall - Delphi vermurkst das nur teilweise