Campo privado capturado en delegado anónimo

class A
{
   public event EventHandler AEvent;
}
class B
{
   private A _foo;
   private int _bar;

   public void AttachToAEvent()
   {
      _foo.AEvent += delegate()
      {
         ...
         UseBar(_bar);
         ...
      }
   }
} 

Ya quedelegate captura variablethis._bar, ¿se aplica implícitamente a la instancia deB? Será instancia deB será referenciado a través del controlador de eventos y la variable capturada por una instancia deA?

¿Sería diferente si_bar era una variable local deAttachToAEvent método?

Desde mi caso, una instancia deA vive mucho más y es mucho más pequeño que una instancia deB, Me preocupa causar una "pérdida de memoria" al hacer esto.

Respuestas a la pregunta(6)

Su respuesta a la pregunta