Eine schnell skizzierte Idee: baue eine
DLL, in welcher Du eine Callbackfunktion implementierst. Diese
DLL lädst Du in Deinen Prozess. Der Einsprungpunkt der
DLL (DllMain) reagiert auf DLL_THREAD_ATTACH und inbesondere, um das Ende eines "beliebigen" Threads Dir zu signalisieren, auf DLL_THREAD_DETACH. DLL_THREAD_DETACH wird im Kontext des beendeten (also quasi im Zustand des beendet werdens) Threads ausgeführt. So kannst Du dann auch Deine Threadvars löschen/freigeben/knutschen.