We had the same problems here in the production environment.
Solved a problem. At first the problem was that there were no statements in my code. (It was built a few years ago, with some lesser knowledge).
Then I tried putting SqlDataSource in a use clause. But that didn't help either.
The trick here, like tvanfosson and Mischa, offers, placing the reader at the point of use. This is the object that actually closes the connection.
The number of connections is reduced to a minimum pool size of 10 at medium load.
Remco van den Berg
source share