Mas no código a classe base não possui a palavra reservada 'virtual' e nem o metodo da classe derivada usa o 'override'. Entendo eu que ele vai pegar a informação da classe base e ignorar o que foi declarado na classe derivada.
Achei que o retorno seria 1.