TObject ist in der system.pas beheimatet, und quasi ein "Sprachfeature". Alles was TComponent mit bringt, kann man auch zu Fuß machen.
Die Aussage, dass nur benötigte Teile gelinked werden, ist auch mit Vorsicht zu genießen. Schaut man sich an welche Rattenschwänze an Abhängigkeiten sich allein schon durch die Teile in den Initialization- und Finalization-Abschnitten ergeben, bekommt man je nach
Unit eine unerwartete Menge an impliziten "benötigten Teilen", selbst wenn man sie im eigenen Code gar nicht verwendet. Aus reinem "Prestige"
NonVCL zu gehen ist
imho fehlgeleitet, da man sich Unmengen an Arbeit (und Fehlerquellen) einhandelt, ohne nachher von dem wirklichen Nutzen einen Mehrwert zu haben. (SysUtils ist da, glaube ich, auch so ein Kandidat für viele implizite Abhängigkeiten. Mag mich irren, aber das schwirrt mir im Kopf rum.)