Jan,
I've been working on a little test program to spy this one out.
It basically captures handle count (GetProcessHandleCount) at various points along the way
from doing an interrupt write and an interrupt read.
The handle count does not change during the write part of this.
During a read, the count also does not change after the beginInvoke.
Upon entry to the read routine (GetInputReportData), the handle count has increased by 2.
at the end, after endInvoke, the count remains at +2.
Sometime later, the count gets decremented by 1, and sits at +1.
Each time through this sequence, the handle count gets incremented by one.
This is at least what I am seeing.
I am not a windows guy - I write firmware, so I am tapping with my trusty white cane...
BTW, I have a couple of your books - nice work!