Moje zadanie asynchroniczne zawsze blokuje interfejs użytkownika

W aplikacji WPF 4.5 nie rozumiem, dlaczego interfejs użytkownika jest zablokowany, gdy korzystam z oczekiwania na + zadanie:

    private async void Button_Click(object sender, RoutedEventArgs e)
    {
        // Task.Delay works great
        //await Task.Delay(5000);

        double value = await JobAsync(25.0);

        MessageBox.Show("finished : " + value.ToString());
    }

    private async Task<double> JobAsync(double value)
    {
        for (int i = 0; i < 30000000; i++)
            value += Math.Log(Math.Sqrt(Math.Pow(value, 0.75)));

        return value;
    }

Oczekiwanie na zadanie.Delay działa świetnie, ale oczekiwanie JobAsync blokuje interfejs użytkownika. Czemu ? Dziękuję Ci.

questionAnswers(2)

yourAnswerToTheQuestion