```
public class A
{
    public delegate void D();
    public event D E;

    ...
}

class B
{
   void Test()
   {
       A a = new A();
       a.E += () => { ... };

       a = null;
   }
}

```

Can `a` be garbage collected when `Test()` is over or because of event subscription there is still reference to it somewhere?