When reading
How to: Create Pre-Computed Tasks
the example method DownloadStringAsync returns
Task.Run( async ()=> { return await new WebClient().DownloadStringTaskAsync(address)})
Run Code Online (Sandbox Code Playgroud)
I wonder why we need to wrap a async method in a Task.Run()? the WebClient().DownloadStringTaskAsync() method returns a Task itself.