'is' versus try cast com verificação de nulo

Eu notei que Resharper sugere que eu mude isso:

if (myObj.myProp is MyType)
{
   ...
}

nisso:

var myObjRef = myObj.myProp as MyType;
if (myObjRef != null)
{
   ...
}

Por que isso sugeriria essa mudança? Eu estou acostumado a Resharper sugerindo mudanças de otimização e mudanças de redução de código, mas parece que ele quer pegar minha única afirmação e transformá-la em uma de duas linhas.

De acordo comMSDN:

Aé expressão é avaliado como verdadeiro se ambas as condições a seguir forem atendidas:

expressão não é nulo. expressão pode ser convertida paratipo. Ou seja, uma expressão conjunta da forma(type)(expression) irá completar sem lançar uma exceção.

Estou interpretando mal isso, ou nãois fazer exatamente as mesmas verificações, apenas em uma única linha, sem a necessidade de criar explicitamente outra variável local para a verificação nula?

questionAnswers(7)

yourAnswerToTheQuestion