С MSDN :
Компромиссы с коротким замыканием
Короткое замыкание может улучшить производительность, не оценив выражение, которое не может изменить результат логической операции. Однако, если это выражение выполняет дополнительные действия, короткое замыкание пропускает эти действия. Например, если выражение включает в себя вызов процедуры Function, эта процедура не вызывается, если выражение замкнуто и любой дополнительный код, содержащийся в функции, не выполняется. Если логика вашей программы зависит от какого-либо дополнительного кода, вам, вероятно, следует избегать коротких замыканий операторов.