GC fires when it wants to, not when you expect it to. You are using Dispose, but not on the right objects