Does your connection need a log time to run?
If not then why bother a long time out value for the release of the connection. We got some settings like the following and it is highly used:
Min Pool Size = 1 connection
Max Pool Size = 50 Connections
Connection Timeout = 180 sec
Idle Timeout = 180 sec
Orphan Timeout = 180 sec
Statement Cache Size = 50 statements
These setting would released the unwanted connection pretty quickly.
Beware that each connection takes about 1Meg of resource, if you are running on a low performance machine, limit the max connection less than this.