Execute this query on SqlServerStudio
SELECT
DB_NAME(dbid) as DBName,
COUNT(dbid) as NumberOfConnections,
loginame as LoginName
FROM
sys.sysprocesses
WHERE
dbid > 0
GROUP BY
dbid, loginame
You will get the idea how many connections are open for your database.
I think you are not properly closing connections. Or may be connection is opened somewhere in loop.