I did quick test in debugger to set BP in the ctor and in Dispose. I see many instances getting created, but Dispose is never called. So I think this is leaking instances.