This too is asynchronous and cannot be disposed.
(it too should be changed to return a `Task<T>` so we can `await` & dispose it)