Moreover, it looks like this async method only needs to await at the tail. In general for case like this, you can remove the async keyword and return the task directly at the end as an optimization. See http://msdn.microsoft.com/en-us/magazine/hh456402.aspx for some context on what you are saving.