According to one of the comments on a previous question the following code may deadlock.
var task1 = myFunction1Async();
var task2 = myFunction2Async();
Task.WaitAll(task1, task2);
Is this true?
If it is, then one of the main benefits of TPL (easily handling multiple I/O calls that may block) seems to go out of the window.