I have a long running thread made from Thread.Start(). It spawns a background thread using QueueUserWorkItem which sleeps most of the time.
Then the class-owner get disposed I call thread1.Join() but naturally it doesnt return because its child background thread is sleeping.
What would be the right solution to gracefully terminate a thread which has other threads with little hassle?