Es gibt eine globale Variable mit der Referenz auf die TThread-Instanz,
aber gleichzeitig wird durch FreeOnTerminate
irgendwann die Instanz gelöscht und diese Variable wird ungültig.
Auf solche Variablen darf man bei Verwendung von FreeOnTerminate eigentlich nie wieder drauf zugreifen (besser es gibt erst garnicht solche Variablen),
es sei denn man gestaltet diese Zugriffe thread-safe (CriticalSection), also um das Auslesen, als auch um das :=nil, welches am Ende des Threads von Diesem gemacht werden muß.
Auch das extern gespeicherte Thread-
Handle ist nach dem Ende des Threads ungültig.
Hier könnte man sich via DuplicateHandle ein eigenes
Handle besorgen und damit weiterarbeiten.
Kurz nach Erstellen/Start des Threads (wenn dieser "garantiert" länger läuft), oder besser innerhalb des Threads dupplizieren, also so lange das Thread.Handle garantiert gültig ist.