Единственное, о чем я могу думать, это то, что вы можете получить неопределенное поведение, если refDate == сегодня.
DateTime.Now включает время. Если refDate if for say сегодня в 3:00 и вы запустите его в 2:00, он вернет true. Если вы запустите в 4:00, он вернет false.
Сравните его с DateTime.Today, и он просто вернет дату, не влияя на время суток.
Кроме этого все должно быть хорошо ..