I think it's a bug in EF 6.1.0 because this similar async example works fine:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Before Async");
TestGoogle().Wait();
Console.WriteLine("After Async");
Console.ReadKey();
}
private static async Task TestGoogle()
{
using (WebClient client = new WebClient())
{
Uri googleUrl = new Uri(@"http://www.google.com");
string page = await client.DownloadStringTaskAsync(googleUrl);
Console.WriteLine(page);
}
}
}