title: Application.DoEvents while waiting another thread
body: <p>Performing a time consuming task inside a WinForm application is better done wrapping it inside another thread.</p>
  <p>As <code>Thread.Join()</code> blocks the main thread is there anything wrong using this kind of approach with <code>Application.DoEvents</code>?</p>
  <pre class="lang-cs prettyprint-override"><code>Thread t = new Thread(() =&gt; {...});
  t.Start();
  while (t.IsAlive) Application.DoEvents();
  t.Join();
  </code></pre>
  <p>Edit: I don't want to stop the execution of main thread, in fact I have an <code>IOleMessageFilter</code> running on the STAThread. This is also the reason why I thought that <code>DoEvents</code> makes sense.</p>