Как выглядит ваш код для добавления двух объектов в список? Я предполагаю:
Gente professor = new Gente();
professor.Nome = "Fu";
Alunos.Add(professor);
professor.Nome = "Bar";
Alunos.Add(professor);
Что неверно. Когда вы добавляете ссылочные типы в список, вы добавляете только ссылку на исходный объект. В этом случае вы дважды добавляете две ссылки на один и тот же объект.
Следовательно, когда вы изменяете второй объект ... вы также изменяете первый.
Простым однострочным исправлением может быть повторная инициализация профессора
перед его повторным использованием:
Gente professor = new Gente();
professor.Nome = "Fu";
Alunos.Add(professor);
professor = new Gente();
professor.Nome = "Bar";
Alunos.Add(professor);