Ну в целом да? Например могут быть тупые таски в духе исполнить лямбду где то. А могут быть таски с ожиданием, хотя ты мог от таких избавиться. Ещё например io таски. Или наоборот cpu bounded. В общем для части задач может получиться, что создание твоей обобщенной таски вносит приличный оверхед в сравнении с наивным вариантом для простых тасок. Ну в том же folly предлагается по дефолту два экзекутора, а у тебя как я понимаю строго один к которому привязана реализация тасок
таски которые которые ждут должны быть в await состоянии, т.е. чтобы их можно было повторно запланировать (например, по окончании IO), и они продолжили с того места где остановились (например, подали запрос на IO)