Was ich noch vergessen habe:
Statt OpenKey sollte in GetPreviewHandlerCLSID noch OpenKeyReadOnly rein, damit es auch ohne Adminrechte funktioniert.
Wenn es beim Beenden hängt, hängt es bei mir in der Preview-
DLL beim Unload wie man im Stacktrace ja sieht:

Insofern wird sich da wohl nicht viel machen lassen.