I think it's more like connection pooled connections of varies DbConnection implementations (such as SqlConnection). When you call SqlConnection.Close(), the connection is not closed, but just returning to the pool waiting for other threads to use. There aren't explicit way to close a SqlConnection either.