I have the following code:
new Thread(new ThreadStart(delegate() { while (true) { //something } })).Start();
Can garbag
All running timer, threads, thread pool and tasks are marked as root. So they will be garbage collected only when they're done (finished executing) or will be deleted when the application closes.