если свободных потоков нет то таска сидит и ждет пока они не освободятся
На таски наплевать. Если свободных нет (допустим ты обрезал размер тред пула по числу ядер, вообще то пул не ограничен по дефолту ни чем), то в твоём кейсе с смафор-слим все потоки будут драться за мьютекс самым бессмысленным образом по классике кооперативной многозадачности, впустую грея камень и напрягая gc.