そんな理由じゃないだろ

var threadSafeHandler = null;
if (PropertyChanged == null) {
  /* (1) */
  threadSafeHandler = PropertyChanged;
  PropertyChanged = null;
} else {
  /* (2) */
  threadSafeHandler = PropertyChanged;
}

不可分にしておくと(1)と(2)で割り込まれるってだけ
別にlockでもいいと思うけど