title: Why use async with QueueBackgroundWorkItem?
body: <p>What is the benefit of using <code>async</code> with the ASP.NET <code>QueueBackgroundWorkItem</code> method?</p>
  
  <pre><code>HostingEnvironment.QueueBackgroundWorkItem(async cancellationToken =&gt;
  {
      var result = await LongRunningMethodAsync();
      // etc.
  });
  </code></pre>
  
  <p>My understanding is that async functions are used to prevent long-running tasks from blocking the main thread. However, in this case aren't we executing the task in its own thread anyway? What is the advantage over the non-async version:</p>
  
  <pre><code>HostingEnvironment.QueueBackgroundWorkItem(cancellationToken =&gt;
  {
      var result = LongRunningMethod();
      // etc.
  }); 
  </code></pre>