static class A
{
static D d;
void static Func1()
{
B b = new B();
d = b.Func2();
}
void static Main()
{
Func1();
GC.Collect();
System.Threading.Thread.Sleep(10000);
//b is removed?
}
}
class B
{
public D d = new D();
public D Func2()
{
return d;
}
}
class D
{
}