Verwendet die
DLL interfaces?
Falls ja würde ich mal suchen ob evtl. diese explizit freigegeben werden oder z.b. in einem Record überschrieben.
Ansonsten kann man die finalization durchgehen und schauen was so passiert.
Ein paar logging Aufrufe vor dem Aufruf der Destruktoren könnte helfen den Fehler einzugrenzen.
Gestern habe ich einen Fehler in einer utility
unit behoben bei der ein TDictionary für <Interfaces> verwendet wurde.
Der Fehler beim Beenden war weg, als ich dies auf Pointer geändert habe.