Massa Maurício! Vez ou outra também dou uma estudada nos patterns.
É importante dizer que essa estrátégia embora traga facilidades, também tem alguns contras, como por exemplo:
- Muitos argumentam que o Singleton viola o princípio de responsabilidade única do SOLID.
- Pode ser difícil de testar
Em relação as referências, o site refactoring.guru é muito completo também. Em todas as páginas sobre um determinado pattern existe uma área que mostra os prós e contras de utilizá-lo além de dar exemplos em várias linguagens de programação.
Referência Singleton:
https://refactoring.guru/pt-br/design-patterns/singleton