¿Cuándo SqlCommand.ExecuteReader () devolverá nulo?

Al usar llamando alSqlCommand.ExecuteReader() Método, ReSharper me dice que tengo una posible excepción de NullReference cuando uso el objeto SqlDataReader posteriormente.

Así que con el siguiente código:

using (SqlConnection connection = GetConnection())
{
    using (SqlCommand cmd = connection.CreateCommand())
    {
        cmd.CommandText = ; //snip

        using (SqlDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                //snip
            }
        }
    }
}

loswhile (reader.Read()) la linea esta subrayada

Mi pregunta es ¿cuándo el objeto lector sería nulo? Nunca lo he encontrado y la documentación no menciona que podría ser. ¿Debo verificar si es nulo o es seguro ignorarlo?

¿Y por qué pensaría ReSharper que podría ser nulo, cuando, por ejemplo, me permite usar SqlCommand sin recomendar que se compruebe si está nulo? Supongo que hay un atributo en el método ExecuteReader.

Respuestas a la pregunta(5)

Su respuesta a la pregunta