Yo recomiendo que el GC se encargue de todo... personalmente lo que me estaba pasando a mi era que me quedaban conexiones abiertas a la base de datos, y dado que el tiempo de collect era demasiado alto para los tiempos de mi aplicación esto se veía en la performance de la applicación.
De todas formas yo recomiendo dejar al GC que se encargue o en su defecto invocarlo a que haga el collect.
Te paso dos articulos que te pueden interesar
http://msdn.microsoft.com/msdnmag/issues/1100/gci/ http://msdn.microsoft.com/msdnmag/issues/1200/GCI2/