zielony,
As Mike said, there's connection pooling going on in teh background. Also, see my answer on the other thread for more detail. The short of it is, that ADO.Net is going to have a pool of connections. It dynamically creates and destroys them based on usage levels and such, but will reuse the ones it has in favor of creatign new ones. It has a default cap of 100 concurrent connections, but as stated before, your goal if you're writign directly against ADO.Net is to hold onto a connection only as long as it takes to conduct a single transaction / query.
You can change the default min pool (0) and max pool (100) as needed to tune your app (by changing the connection string), but I wouldn't worry about that up front. Make that a tuning event six months or a year into production.
Help those who have helped you... remember to "Mark as Answered"