Frans you were right!
I think i might have found the problem for the connections leaks.
There was some code that was storing a collection in the session. This collection was created and loaded into the session for every new session. The idea behind this was; Fetch this huge lookup table once and store it because it gets used right through the life time of the session.
Now because it was creating this collection for every new session and storing it.. - We were loosing 1 connection object per session...well that is what i think in any case.
I changed it to check if the collection exists before creating it and then storing the collection in the application state for the moment. So the worse case is that i am going to loose 1 connection until i can come up with a better idea.
Another piece of code that i am worried about is the following code that sits in my aspx page:
<%=CurrentClient.ThisCompany.CompanyName%>,<%=CurrentClient.ThisCompany.CompanyNameLong%>
These objects reads from the database - can i leak connections this way? The object ThisCompany wraps an entity.
Can my connection leaks cause my OutOfMemory exceptions? Because i am still chasing this exception and have no idea where to start looking.