Тогда вы не переопределяете свойство, а создаете новое, как если бы вы использовали ключевое слово new
.
Bar x = new Bar();
Foo y = x;
Console.WriteLine(x.Value); // Uses Bar.Value
Console.WriteLine(y.Value); // Uses Foo.Value
Обычно это яснее, когда демонстрируется с помощью методов - в этом случае, даже если вы переопределите, вы все равно получите отдельные поля поддержки в обоих классах, просто одно из полей будет избыточным. Без переопределения у вас есть два вспомогательных поля, и то, какое из них вы получите через свойство, будет зависеть от типа времени компиляции выражения, которое вы используете для доступа к нему.