Есть ли разница между
Task.Run(() => {
... long wait IO bound operation
});
и
await LongIOBoundOperaion();
В первом случае поток будет занят ожиданием завершения IO операции, а во втором, будет ли какой-то поток ждать выполнения или поток будет создан(взят свободный из пула) после уведомления о том, что IO операция завершена?