Свойство DateTime.Now является изменчивым, то есть оно определенно может меняться в зависимости от использования. Но переменная, которой вы ее назначаете, не является изменчивой.
Таким образом, это всегда должно устанавливать для результата значение true:
DateTime d = DateTime.Now;
bool result = d == d;
Он присваивает значение, возвращаемое DateTime.Now, переменной d, а не самому свойству. Таким образом, d всегда будет равно d в этом коде.
Но это не всегда устанавливает результат в true:
bool result = DateTime.Now == DateTime.Now;