Great read, thanks. However, some developers do not now the difference between WhenAll and WaitAll, it would fantastic if you added the comparison to your article.
Thanks Sami Mejri for your response and I am glad you find it helpful. As a short response the main difference between Task.WaitAll and Task.WhenAll is that WaitAll blocks the current thread until all other tasks have completed, while WhenAll creates a task that completes when all the other tasks have completed without blocking the thread.