The normal case is that the DLL is loaded as part of the process creation. In this case, the DLL is not closed by the application code, but by the maintenance code in the kernel that deals with cleaning up after the process when it's exited.
>Note also that normal use of DLL's where the application is not opening the DLL by LoadLibrary(), then the closing is done by the process clean-up after the executable exits.
It is a typo? I think your above statements should not contain the word "not"? By reading, normal use of ... is not ... by LoadLibrary, I am confused. :-)