Falls die
DLL erst beim Ende des Programms entladen wird würde ich den Thread einfach vergessen. Wozu das Objekt freigeben wenn der Memory manager eh im Begriff ist, ins Nirwana einzugehen? Und Windows ist mittlerweile wirklich gut darin, bei Programmende alle vom Programm verwendeten Resourcen (alle Arten von handles, eingeschlossen die von Threads) aufzuräumen.
Was Du auf keinen Fall machen darfst ist an diesem Punkt auf das Ende des Threads zu warten, sowas ist so ziemlich die einzige Ursache dafür, das ein Prozess nicht vollständig beendet wird (noch im Task Manager gelistet ist, nachdem sein UI geschlossen wurde).
Manchmal ist es sinnvoller, pragmatisch anstelle von penibel zu sein.