title: An outgoing call cannot be made since the application is dispatching an input-synchronous call
body: <p>I got this(the error in the title above) from the System.Thread.Timer threadpool so then I have my TimerWrapper that wraps the System.Thread.Timer to move the actual execution to System.Thread.ThreadPool and I still get it so I move it a new Thread(callback).Start() and I still get it.  How is it dispatching an input-synhcronous call when I put it on a brand new thread???</p>
  
  <p>This is a very very small prototype app in which all I am doing is firing a timer that is doing this...</p>
  
  <pre><code>    IEnumerable swc = SHDocVw.ShellWindows() 
      HashSet&lt;WindowInfo&gt; windows = new HashSet&lt;WindowInfo&gt;();
      foreach (SHDocVw.InternetExplorer ie in swc)
      {
          if (!ie.FullName.ToLower().Contains("iexplore.exe"))
              continue;
  
          IntPtr hwnd;
          IEPlugin.IOleWindow window = ie.Document as IEPlugin.IOleWindow;
          window.GetWindow(out hwnd);   
  
          WindowInfo info = new WindowInfo();
          info.handle = hwnd;
          info.extraInfo = ie;
          windows.Add(info);
      }
  </code></pre>