If a class has a finalizer, any non-null object-reference fields will cause the referred-to objects to be held longer than they otherwise would. If the objects are known to be unnecessary even before the finalizer runs, clearing out the object-reference fields will allow the objects to be collected one "generation" sooner than they otherwise would be. That can be a big win.
If the lifetime (useful or not) of an object is expected to outlive the useful lifetime of an object to which it has a reference, needlessly holding a reference will prevent the latter object from being collected until the former is (i.e. the reference will force the latter object to be kept even after it has become useless). Clearing the reference will avoid that problem.
If a class written in vb.net has any "WithEvents variables", they should be cleared out (set them to nothing) any time the object holding them becomes useless. A class cannot be garbage-collected while it holds a reference to a live object in a "WithEvents variable". If e.g. an enumerator holds a "WithEvents" reference to an underlying collection (e.g. so it can receive events if/when the collection is changed) and its Dispose handler does not clear its reference to the underlying collection, the enumerator will be kept alive as long as the underlying collection is. If the collection is enumerated very many times, this could be a massive memory leak.