using System.Collections.Generic;
using System.Threading.Tasks;
public static async Task Main()
await Task.WhenAll(Stuff(5));
public static IEnumerable<Task> Stuff(int i)
for (int x = 0; x < i; x++)
yield return Task.WhenAll(GetTasks(5));
public static IEnumerable<Task<int>> GetTasks(int i)
=> Enumerable.Range(0, i).Select(x => Task.FromResult(i));