Isso realmente depende do aplicativo e de como ele se conecta. "O pool de conexões reduz o número de vezes que novas conexões devem ser abertas. O pooler mantém a propriedade da conexão física. Ele gerencia conexões mantendo vivo um conjunto de conexões ativas para cada configuração de conexão. Sempre que um usuário chama Open em uma conexão, o pooler procura uma conexão disponível no pool.Se uma conexão em pool estiver disponível, ela retornará ao chamador em vez de abrir uma nova conexão.Quando o aplicativo chama Close na conexão, o pooler a retorna para o conjunto em pool de ativo Depois que a conexão for retornada ao pool, ela estará pronta para ser reutilizada na próxima chamada Open.
Somente conexões com a mesma configuração podem ser agrupadas. O ADO.NET mantém vários pools ao mesmo tempo, um para cada configuração. As conexões são separadas em conjuntos por cadeia de conexão e por identidade do Windows quando a segurança integrada é usada. As conexões também são agrupadas com base no fato de estarem inscritas em uma transação "-de link
Note que você pode realmente diminuir o desempenho devido a problemas adicionais de bloqueio se você executar códigos de baixa qualidade sem retornar conexões ao pool.
até onde vai o número 2, sua conexão é enfileirada até que o aplicativo tenha fechado todas as conexões.