Without an original article, I cannot speak for the author. However, depending on how you implemented the instantiation and opening of the connection with respect to your try / catch / finally block, you may need additional checking before simply calling close. Ex, make sure the connection is not null and not yet closed.
EDIT: The article says that you should not delete the connection object in the Finalize method, and not close it in the finally block. In fact, the paragraph above says that you should always close your connection after using it, so it returns to the connection pool.
"WARNING It is recommended that you always close the connection when you finish using it so that the connection is returned to the pool. This can be done using the Close or Dispose methods of the Connection object. Connections that do not explicitly close cannot be added or returned to the pool. For example, a connection that has gone out of scope but has not been explicitly closed will only be returned to the connection pool if the maximum pool size is reached and the connection remains valid.
Note. Do not call Close or Dispose on a connection, DataReader, or any other managed object in the Finalize method of your class. In the finalizer, free the unmanaged resources that your class owns directly. If your class does not own unmanaged resources, do not include the Finalize method in the class definition. For more information "
http://msdn.microsoft.com/en-us/library/8xx3tyca(VS.71).aspx?ppud=4
source share