What happens to a thread when the original class goes out of scope

Have a look at the documentation for System.Threading.Thread.IsBackground

If a thread isn't a background thread, it will keep the application from shutting down until it's done.


From System.Threading.Thread

It is not necessary to retain a reference to a Thread object once you have started the thread. The thread continues to execute until the thread procedure is complete.

So even if the Thread object is unreferenced, the thread will still run.