the easiest way would be to try the upcoming V5 which has an 'Object Retention Graph' showing you which other objects are still holding references to an instance you are interested in and therefore preventing garbage collection.
You can try the early access build from here:
There are a set of filters available which you will find very helpful by the sounds of it. One of them checks for objects where Dispose was called but the object is still in memory.
Feedback is very much appreciated on this early access version of V5 if you can spare a few minutes when finished profiling.