Why does await Task.WhenAll() improve performance? I’m trying to understand the difference between these two segments of code: