Creating and starting a new task using Task.Factory.StartNew(...)
or Task.Run(...)
that only returns an already computed value is pointless and unnecessary overhead.
Replace the task creation with Task.FromResult(...)
to create a completed task with the specified value.