Olá, Michelle!
Outro ponto que reparei é que sei código manipula um objeto NovoEigenMC. (com ponto no final) e você testa a condição para o objeto NovoEigenMC (sem ponto). Como o objeto da condição não é alterado vai cair num loop infinito (sempre mesmo valor). E pra que seria o objeto int?.