We had a long discussion about this on the forum more than once. There are arguments for both viewpoints, but one of the Access engineers participated and was on the side of not only closing everything you opened, but also resetting the object variable to "Nothing" afterwards.
At least in theory, when you have a recordset or other object declared in a subroutine, exiting that sub clears out the involved memory and thus closes whatever was opened. HOWEVER, when you have a Public object variable in a general module, those don't go away quite so automatically even if your forms are closed or idle at the time. In such cases, you DO risk hanging up the machine in what is essentially an unending task rundown.