Guess that I've an ASP.Internet page. Within the page load event handler, I open a database connection and perform some processing. But following the processing is performed, I do not close the bond clearly by calling the CLOSE approach to the bond object.

Now once the page processing in the server side is completed, the GC will dispose all of the variables during my page, as well as, the bond object too. But when it's disposed, does the bond which was opened up formerly is instantly closed? I am talking about, when GC disposes the bond object, will it instantly close the bond which was established using the database server or it really dispose the bond object, and also the connection in the database is continued to be open, before the connection timeout happens in the database and so the database server shuts the bond alone?

The MSDN documentation is fairly obvious relating to this:

When the SqlConnection is out of scope, it will not be closed. Therefore, you have to clearly close the connection by calling Close or Dispose. Close and Dispose are functionally equivalent.

Either make use of the using blocks to be disposed instantly, or clearly .Close() it. The using blocks are preferred.

By departing connections open the application may eventually exhaust connections when new demands are attempted, leading to errors. I have faced this type of condition in a credit card applicatoin I had been debugging. The initial designers unsuccessful to shut the connections clearly on the couple of pages and traffic was sufficient that customers began getting errors. I wrapped the problem connections inside a using block and also the problem disappeared.

Connection is continued to be open. For those who have plenty of pageviews, and plenty open connections, you will get 500 error.

Your connections will not be closed until after (not when) your page object is completed, which may well be a while. It might be super easy to max out the amount of available connections and begin getting errors.

You need to use using blocks, then you definitely will not need to request the question:

using (var conn = new SqlConnection(connectionString))
    using (var cmd = new SqlCommand(commandText, conn))
        using (var reader = cmd.ExecuteReader())
            while (reader.Read()) { /* ... */ }

your connection will not be closed unless of course selected by GC and when there are many site visitors resulting in several connections than the might be horrible. Also by trying to spread out an opened up connection it'll throw error so you've to check on for your better is either write it in making use of block or close the bond yourself.