Returning null from a non-async Task/Task<T> method will cause a NullReferenceException at runtime. This problem can be avoided by returning Task.FromResult<T>(null) instead.

Noncompliant Code Example

public Task<object> GetFooAsync()
{
    return null; // Noncompliant
}

Compliant Solution

public Task<object> GetFooAsync()
{
    return Task.FromResult<object>(null);
}