title: Issue with delegate.BeginInvoke and UI thread
body: <p>In a button click event (forms control) I have:</p>
  
  <pre><code>Action&lt;SomeType, CallbackType&gt; action = (__o1, __callback) =&gt;
  {
    __o1.Operation(__callback);
  };
  action.BeginInvoke(
    o1, 
    callback,
    (asyncCallback) =&gt; 
      ((Action&lt;SomeType, CallbackType&gt;)asyncCallback.AsyncState).EndInvoke(asyncCallback),
    action);
  </code></pre>
  
  <p>For some unknown reason the UI thread hangs until this async call returns. But still the click event implementation returns.</p>
  
  <p>Any ideas what might be the issue?</p>