Should methods returning Task<T> always start the returned task?

Viewed 5011

If I have a method like

Task<bool> LongProcessTaskAsync();

Would it be a better practice to return a started task

return Task<bool>.Factory.StartNew(() => { ... });

or just return new Task<bool>(() => ...)

Personally, I prefer the first method but I'd rather be consistent will other API's and libraries.

Is returning a not-started task ever more appropriate?

2 Answers
Related