Also ich mache zwar seit einiger Zeit nichts mehr mit DX, aber das wäre mir neu, dass das automatisch passiert :-)
Sind ja COM Devices, d.h. die haben ja einfach einen "intrusive" Reference Count (über AddRef() und Release()); d.h. die Ressourcen gurken dann im Speicher rum, wenn du sie nicht freigibst.
Ich glaube du kannst dir die Arbeit sowieso nicht sparen, weil du ja auch auf eine "DeviceLostException" bzw. "DeviceNotResetException" reagieren musst; da musst du die Resourcen manuell freigeben und Reset() aufrufen (es sein denn du schmeißt immer das ganze Device weg, aber selbst dann...).
Du kannst das auch prüfen, wenn du dir das Debug interface holst (würde ich sowieso empfehlen). Der zeigt dir dann beim Beenden die nicht freigegebenen Objekte / Refcounts an: Interner Refcount von DX (die sind ok), und Externer Refcount, d.h. die vom User (die sind nicht ok).
(Siehe auch :
http://seanmiddleditch.com/direct3d-11- ... pi-tricks/)