using System.Threading.Tasks;
public static class Program
public static async Task Main()
MyDisposableStruct value = new();
var mem0 = GC.GetTotalAllocatedBytes(true);
for (int i = 0; i < loops; i++)
await using (value.ConfigureAwait(false)) { }
var mem1 = GC.GetTotalAllocatedBytes(true);
Console.WriteLine($"Allocated: {(mem1 - mem0) / loops:#,0} bytes per 'await using'");
readonly struct MyDisposableStruct : IAsyncDisposable
public ValueTask DisposeAsync() => default;