Seems that Microsoft is aware of the problem. Look for "UPHClean" on the microsoft website. It is a service that loads at boot and on shutdown will unload the User Profile Hive.
Here is just a little from the "Read Me" file:
WHAT IS UPHCLEAN
UPHClean is a service that once and for all gets rid of problems with user profile not unloading.
You are having profile unload problems if you experience slow logoff (with Saving Settings for most of the time while logging off), roaming profiles that do not reconcile, or the registry size limit is reached.
WHY DO PROFILES NOT UNLOAD?
Many system and service processes do work on behalf of users. When the work is done the system or service process is responsible for releasing handles it has to the user profile hive. If this is not done by the service as the user logs off the profile cannot be unloaded. .......
The whole thing is too long to post here.