async / await - kiedy zwrócić zadanie vs void?

W jakich scenariuszach chciałbyś skorzystać

public async Task AsyncMethod(int num)

zamiast

public async void AsyncMethod(int num)

Jedynym scenariuszem, jaki mogę sobie wyobrazić, jest potrzeba, aby zadanie było w stanie śledzić jego postępy.

Dodatkowo, w następującej metodzie, asynchroniczne i nie oczekują słów kluczowych?

public static async void AsyncMethod2(int num)
{
    await Task.Factory.StartNew(() => Thread.Sleep(num));
}

questionAnswers(6)

yourAnswerToTheQuestion