Zu den Beispielen: du hast Recht, der dargestellte Code ist da sehr unterschiedlich. Manchmal wird die Region wieder freigegeben und manchmal nicht, stellenweise auch falsch (
Beispiel).
Ein HRGN sollte aber
IMHO definitiv wieder freigegeben werden. Da sowohl SelectClipRgn als auch SelectObject jeweils nur mit einer Kopie der Region arbeiten, kannst du sie danach direkt wieder mit DeleteObject löschen.
Die Handles eines Prozesses kannst du dir z.B. mit dem
Process Explorer anzeigen lassen.