O provedor Oracle .NET possui recursos integrados de pool de conexões. Sempre que você precisar de uma conexão de banco de dados, crie uma nova faça o trabalho e libere-a imediatamente. O pool de conexões cuidará da reutilização de conexões com eficiência.
A melhor maneira de liberar a conexão é através do
using
construção que garantirá que a conexão seja descartada, mesmo que ocorram exceções. using(OracleConnection connection = ConnectionFactory.Create())
{
connection.DoStuff();
} //connection.Dispose() called here.