I seem to have found a solution to this issue and reported it as a bug in the bugtracker. It turns out the memory leak originates in videoInput::setVideoSettingCamera(), where an IBaseFilter object is created in a call to getDevice() but never released. I presented a solution in the bugreport.
This solves the memory leak for the largest part. However, it seems there is still a very small leak, several bytes per call probably, that originates from the call to getDevice(). Unfortunately, I have not been able to trace this bug to its origin, and was not able to solve it. Maybe someone else is able to locate it, I suspect the calls to CoCreateInstance and CreateClassEnumerator cause the leak, since memory usage seems to increase after these calls.