To await or not - C# and asynchronous programming