title: Call a sync function asynchronously for UI responsiveness
body: <p>I have a sync method <code>GetReports()</code> which return value will be used to set the data source of a UI control. It may take a while to run. Is it idiomatic way to call it asynchronously as the following?</p>
  
  <pre><code>var l = new List&lt;...&gt;();
  await Task.Run(() =&gt; l = GetReports().ToList());
  UIControl.DataSource = l;
  </code></pre>