Ich würde mir zunächst die Basisdatenstrukturen und -algorithmen anschauen, also Listen, Suchen, Einfügen etc. Hier kann man i.a. am Meisten rausholen. TList, TStringlist sind z.B. nicht besonders schnell.
Beim Programmstart kann man sehr viel rausholen, wenn man nur das Hauptformular sowie sofort benötigte Datenmodule instantiiert und die restlichen Formulare erst bei Bedarf erzeugt.
Welche Resourcen werden denn gefressen? Wenn Du ständig 100.000de Objekte instantiierst und dann frei gibst, kann es sein, das eine statische Liste von Objekten schneller ist, da die dynamische Speicherverwaltung Zeit verbraucht. Nicht viel, aber bei sehr vielen Speicheranforderungen fällt das schon ins Gewicht.
Je mehr Beispiele, Beschreibungen und Details Du hier postest, desto mehr können wir Dir vermutlich helfen.
_________________
Na denn, dann. Bis dann, denn.