Quando SqlCommand.ExecuteReader () retornaria null?

Ao usar a chamadaSqlCommand.ExecuteReader() método, ReSharper me diz que eu tenho uma possível exceção NullReference quando eu uso o objeto SqlDataReader depois.

Então, com o seguinte código:

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

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

owhile (reader.Read()) a linha está sublinhada.

Minha pergunta é quando o objeto do leitor nunca seria nulo? Eu nunca encontrei e a documentação não menciona que poderia ser. Devo verificar se é nulo ou seguro ignorar?

E por que o ReSharper acha que poderia ser nulo, quando, por exemplo, ele me permite usar o SqlCommand sem recomendar que seja verificado por null? Eu acho que há um atributo no método ExecuteReader.

questionAnswers(5)

yourAnswerToTheQuestion