Similar as using (...) uses IDisposable to clean up resources, await using (...) uses IAsyncDisposable.
This allows to perform also time-consuming tasks (e.g involving I/O) on cleanup without blocking.
Similar as using (...) uses IDisposable to clean up resources, await using (...) uses IAsyncDisposable.
This allows to perform also time-consuming tasks (e.g involving I/O) on cleanup without blocking.