I had a case the other day where customer was using WebClient and the DownloadFileAsync method. Customer then issued 10 concurrent calls to the DownloadFileAsync method and expected all the files to be downloaded at the same time. However, only 2 files were concurrently downloading. 10 files were created on disk but only 2 were downloading. When one file download was complete. The next would start and so on until all 10 files were downloaded.