IMHOいいえ。nullのチェックがアプリケーションのパフォーマンスのボトルネックになることはほとんどありません。(そして、それが重要である100万件に1件の場合、プロファイラーでそれを見つけて、その1件を削除します)。
頭に浮かぶべきもう1つの質問は、「新しいNullReferenceException()をスローすることが、エラーを処理するための本当に最良の方法ですか?」です。多くの場合、それよりもうまく処理できます(デバッグ目的でユーザーや自分自身により良いエラーレポートを提供する場合でも)。多くの場合、コードはnullを適切に処理できるため、これがエラーになる必要はまったくありません。
編集
あなたの編集に答えるには:ヌルチェックは本当に長くはかかりません。メソッドを呼び出すだけのオーバーヘッドは、ヌルチェックの数百倍ではないにしても数十倍になります。ヌルチェックが大きな違いを生む唯一の場所は、他にほとんど何もしていない大きくてタイトなループです。この状況はあまり頻繁には発生しません。通常、nullをチェックしてから、その参照を使用して比較的高価な処理を実行します。
クラッシュや失敗が良いことであるという状況はありません。クラッシュして顧客のデータを失うよりも、nullチェックを使用して「アプリケーションの速度を落とす」方が常に優れています。
したがって、コードを時期尚早に最適化しないでください。保守可能で堅牢になるように適切に記述してから、プロファイルを作成してボトルネックがどこにあるかを確認します。私は28年間プログラミングを行っており、ヌルチェックを非常に自由に行っていますが、ヌルチェックがパフォーマンスの問題の原因であることに気づいたことはありません。通常、ループ内で多くの不要な作業を行う、O(n ^ 2)アプローチが可能なO(n ^ 3)アルゴリズムを使用する、計算コストの高い値をキャッシュできないなどのようなものです。