Though you have already answered your own question, I would still like to elaborate more on it.
In C# .NET, unlike in Java
C# Background threads ~ Java Daemon threads
C# Foreground threads ~ Java User threads
By default, threads you create explicitly are foreground threads.
“Background threads are identical to foreground threads, except that background threads do not prevent a process from terminating.”
(reference)
You can make a thread Daemon by
thread.IsBackground = true;