Me parece que Patrick Steele respondió a esta pregunta mejor en su blog: Avoiding IsNothing ()
No copié ninguna de sus respuestas aquí, para asegurarme de que Patrick Steele reciba el crédito por su publicación. Pero creo que si intentas decidir si usar Is Nothing o IsNothing no deberías leer su publicación. Creo que estarás de acuerdo en que Is Nothing es la mejor opción.
Editar - Comentario de VoteCoffe aquí
Contenido parcial del artículo: después de revisar más código descubrí otra razón por la que debería evitar esto: ¡acepta tipos de valor! Obviamente, dado que IsNothing () es una función que acepta un 'objeto', puede pasarle lo que quiera. Si se trata de un tipo de valor, .NET lo encuadrará en un objeto y lo pasará a IsNothing, ¡que siempre devolverá falso en un valor encuadrado! El compilador de VB.NET verificará la sintaxis de estilo "Is Nothing" y no compilará si intenta hacer un "Is Nothing" en un tipo de valor. Pero la función IsNothing () se compila sin quejas. -PSteele - VoteCoffee
IsNothing()