You should not rely on the specific behavior of pool thread threads. In general, a thread in threadpool should be replaced at any time by the CLR, without your knowledge. Thread pool threads are designed to be used with simple tasks, preferably with short deadlines.
If you want to have fine-grained control over stream settings, you must create a dedicated stream. Setting the condition of the apartment is a great example of this.
In addition to the above theoretical reasons, there is a practical problem with what you are trying. Form hosting in the second thread does not work (without a lot of extra work). Forms must run in the same thread as in the message - otherwise they will not receive any Windows messages and will not be updated properly.
You can create the form in a separate thread if you are implementing the full message flow for that thread, but it is usually best to just put your work items in the background threads and use asynchronous programming methods to keep them responsive from the moment you create the user interface.
Reed copsey
source share