Quand est-il acceptable d'appeler GC.Recueillir?

Le conseiller général est que vous ne devez pas appeler GC.Collect à partir de votre code, mais ce sont les exceptions à cette règle?

Je ne peux que penser à quelques cas très spécifiques où il peut faire sens pour forcer un garbage collection.

Un exemple qui vient à l'esprit est un service qui se réveille à intervalles, l'exécution de certaines tâches, et puis dort pendant une longue période. Dans ce cas, il peut être une bonne idée de forcer un collecter pour empêcher le bientôt-à-être-processus inactif à partir de maintenant sur plus de mémoire que nécessaire.

Y a d'autres cas où il est acceptable d'appel GC.Collect?