the deadlock comes from when the async work captures the calling context
in the helper method , the Task<T> is created before Task.Run
try doing it so nothing gets to capture the caller’s context