В .NET 4.5 я заметил, что WPF Dispatcher получил новый набор методов для выполнения файлов в потоке Диспетчера, называемом InvokeAsync. Раньше .NET 4.5 у нас Invoke и BeginInvoke которые обрабатывали это синхронно и асинхронно соответственно.
Помимо названий и немного разных перегрузок, существуют ли какие-либо существенные различия между методами BeginInvoke и InvokeAsync?
О, и я уже проверил, оба могут быть await ed:
private async Task RunStuffOnUiThread(Action action)
{
    // both of these works fine
    await dispatcher.BeginInvoke(action);
    await dispatcher.InvokeAsync(action);
}