Singleton para armazenamento de ApplicationContext

Boa tarde, pessoal.

Em meu aplicativo eu trabalho a todo momento com instâncias do Contexto da Aplicação, para que a classe de Persistencia possa se comunicar com a classe de Banco de Dados.

Me indicaram a não utilizar desta maneira. E a implementar uma classe Singleton que cuide do Contexto da Aplicação no geral.

Gostaria de saber se esta é uma boa prática e o ideal para fazer esse controle? Ou se há uma maneira melhor?

Obrigado pela atenção.

Eu também tenho uma instancia de Application que guarda a si mesma estaticamente para ser utilizada como Contexto por quem precisar.

Não é bonito, mas é garantido que só é instanciado uma vez e não fica vazando Context de Activities por ai.