Doux fantôme et les références viennent de Java, je crois. Une longue référence faible (pass vrai pour C#'s WeakReference constructeur) peut être considéré comme similaire à Java PhantomReference. Si il est un analogue de SoftReference en C#, je ne sais pas ce que c'est.
Références faibles ne permettent pas de prolonger la durée de vie d'un objet, lui permettant ainsi d'être nettoyée une fois que toutes les références ont disparu hors de portée. Ils peuvent être utiles pour la tenue sur les grands objets qui sont chers à l'initialiser, mais doit être disponible pour garabage collection si elles ne sont pas activement utilisés.
Si oui ou non ce sera utile dans la réduction de la consommation de mémoire de votre application dépendra entièrement sur les particularités de la demande. Par exemple, si vous avez un nombre modéré de mise en cache des objets suspendus autour de qui peut ou ne peut pas être réutilisé dans le futur, la faiblesse des références pourrait aider à améliorer la consommation de mémoire des caches. Toutefois, si l'application fonctionne avec un verly grand nombre de petits objets, de la faiblesse des références fera qu'aggraver le problème, puisque les objets de référence prendra autant ou plus de mémoire.