async / await - ¿cuándo devolver una tarea vs void?


Bajo qué escenarios uno querría usar

public async Task AsyncMethod(int num)

En lugar de

public async void AsyncMethod(int num)

El único escenario que se me ocurre es si necesitas la tarea para poder seguir su progreso.

Además, en el siguiente método, ¿son innecesarias las palabras clave async y await?

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

Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52