Auch das bringt nicht den gewünschten Erfolg...
Aber beim testen ist mir aufgefallen, dass ich scheinbar nur zu hektisch bin: Ich habe den Dienst jeweils gestartet und dann direkt gestoppt. Wenn ich ein bisschen Zeit vergehen lasse beendet sich der Dienst korrekt. Außerdem musste ich noch das CoUninitialize herausnehmen, da sich der Dienst mit CoUninitialize beim Beenden immer verschluckt.
Was mach ich denn nun?