Поскольку в большинстве случаев имеет смысл или даже требуется вызывать реализацию базового класса, например, виртуальные Dispose
методы (базовый класс должен быть утилизирован) или виртуальные OnXXX
методы в WinForms (базовый класс обычно запускает событие из их OnXXX
методов).
Конечно, если виртуальный метод принадлежит вам, и вы не хотите такого поведения, я согласен, что это довольно раздражает;)