title: The correct way to Fire-and-Forget an asynchronous delegate
body: <p>Consider me rusty on the subject of asynchronous delegates. </p>
  
  <p>If I want to call a method asynchronously, in a fire-and-forget style, is this an appropriate way to do it?</p>
  
  <pre><code>Action action = DoSomething;
  action.BeginInvoke(action.EndInvoke, null);
  </code></pre>
  
  <p>The <code>DoSomething()</code> method catches all exceptions and deals with them internally.</p>
  
  <p>Is the call to <code>EndInvoke</code> appropriate? Required? </p>
  
  <p>Is there a clearer way to achieve the same behaviour?</p>