Yes I started using IDisposable for a long time, but I also had destructor - this was the undoing as GC seems to have queued them for destruction in a separate thread that was taking AGES to execute under some circumstances that I managed to re-create.
A very good post on this topic can be found here, with a follow up article here (as im sure youve found Atw)... there are some interesting comments to the second post.
Comment