Wenn der Thread noch läuft, wenn das Hauptprogramm beendet wird, dann kommts zum Crash.
Wie fängt man sowas ab?
Du kannst im Thread an entsprechender Stelle prüfen, ob dein Hauptprogramm gerade beendet wird und darauf reagieren. Im Hauptprogramm müstest du dann allerdings warten, bis alle Threads beendet sind.