You would probably want to have a Close method for the class that passes the Close command on through to your base Connection object.
In the .NET framework, all objects are (supposedly) garbage collected automagically when they are no longer referenced and the memory is needed by something else. You no longer have direct control over when they are ultimately destroyed. The .NET framework and the OS are much more facile than mere mortals at handling things like that. heh