Windowsフォームのイベントハンドラにて、EntityFramework6でDBクエリを実行しています。

ToListAsync()にawaitキーワードをつけて非同期実行とし、CancellationTokenを渡して処理のキャンセルを可能としています。
しかしながら、下記コードで実行してみると、クエリの完了までUI操作がブロックされます。

意図した動作にならない原因は何なのでしょうか。

private async void button1_Click(object sender, EventArgs e)
{
    _cts = new CancellationTokenSource();

    using (var db = new SampleEntities())
    {
        // ここでawaitするがUIに制御が渡らない
        _result = await db.Database.SqlQuery<Result>("select fullname,productname from customers, products").ToListAsync(_cts.Token);
    }

    dataGridView1.DataSource = _result;
    statusLabel.Text = $"{_result.Count} records loaded.";   
}