<PackageReference Include="Nito.AsyncEx.Tasks" Version="2.0.0-alpha-01" />

Nito.AsyncEx.SingleDisposable<T>

public abstract class SingleDisposable<T> : SingleDisposable<T>
A base class for disposables that need exactly-once semantics in a threadsafe way.
protected SingleDisposable(T context)

Creates a disposable for the specified context.