если посмотришь в main и посмотришь на цикл фор,то стоит у тебя там как раз меньше 10, т.е твой метод dowork зависит от него, даже по скрину в консоли видно, что он выводится всего 9 раз.
Хммммм, и получается Main() лень ждать что там этот DoWorkAsync() наделает и он просто завершается когда заканчивается логика которая относится к нему?