Vielen Dank für Deinen Tipp. Leider bringt Dein Vorschlag keine Besserung, obwohl ich ihn gern übernommen hätte. Meine Lösung mit einem Wrapper-Objekt erzeugt nicht gerade Clean Code, funktioniert dafür aber.
Dein Link enthält im Kommentar die Erklärung: Alle Variablen, die in einem Initialisierungsteil erzeugt werden, sind global. Damit fallen sie auch aus dem Scope, den der DI-Container verwalten kann und erzeugen beim Shutdown MemoryLeaks.
Nun werden ja auf einem Datenmodul einige Komponenten abgelegt. Diese sind dann auch von o.g. Phänomen betroffen, da sie im Create() erzeugt werden.
BTW, ich werde mir meine Erklärung in den Info-Header meiner Units schreiben, damit ich beim nächsten Refactoring nicht flasch optimiere