Olá, Leandro, como vai?
Seu código cumpre bem a proposta do exercício e a lógica geral está organizada. A geração de senhas, o uso da lista e o fluxo do menu estão funcionando de forma coerente com o objetivo da atividade.
Há apenas um ponto que vale atenção: ao chamar a próxima senha, o programa acessa sempre listaSenhas[0]. Caso a lista esteja vazia, isso causará erro em tempo de execução. Uma pequena validação antes de acessar o índice já evita esse problema. Por exemplo, você poderia verificar se há senhas disponíveis antes de remover a próxima, exibindo uma mensagem adequada quando a fila estiver vazia.
Um exemplo simples seria algo como verificar listaSenhas.Count > 0 antes de acessar o primeiro elemento. Isso garante que o programa continue funcionando mesmo quando não houver senhas geradas.
No mais, ótimo trabalho por compartilhar o exercício. O fórum está à disposição.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!