Oi, Diego! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Seu projeto ficou bem organizado e funcional. Chamou atenção o uso do do while para manter o menu ativo até a opção de saída e também a lógica para controlar senha e ultimaSenhaChamada, evitando chamar senhas que ainda não foram geradas. O uso de ToString("D3") também foi uma boa escolha para padronizar o formato das senhas.
Uma dica interessante para o futuro é usar o método Math.Max() para garantir comparações entre números ou evitar valores menores que o esperado em algumas lógicas. Veja este exemplo:
int senhaAtual = 5;
int ultimaSenha = 3;
int maiorSenha = Math.Max(senhaAtual, ultimaSenha);
Console.WriteLine(maiorSenha);
Nesse exemplo, Math.Max() retorna o maior valor entre dois números, o que pode ajudar em verificações ou validações dentro de sistemas que controlam sequências de valores, como filas ou senhas de atendimento.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!