If I have a web application that wraps calls to the network and database in a Task<T> and awaits them, this should prevent the thread from blocking so it can be re-used.
However, when the IO work is carried out, is there still some thread that is blocked, so there is no real benefit to awaiting?