If they don't implement the disposable pattern then the authors of those classes are saying "these things don't need any special cleaning up".
And you don't need to assign null
either - the whole point of the GC is that it finds the stuff that's no longer used - you don't need to try to "help it" (and many efforts, if they have any effect at all, actually hinder the GC)
You shouldn't ever call GC.SupressFinalize()
on any object where you're not the author of its class1.
1And now I'm waiting for a comment that points out some edge case that I don't currently have in mind.