c# memory leak analyze
<p>I am breaking my head, but still I dint get solution. I ran these code and analyzed with .NET memory profiler. It showed me that one instance of IntEntity[] is not collected. But I am clearing the list and setting it to null. How I can make this to garbage collect? Am I doing anything wrong here? </p>

<p>Edit: I tried setting b = null &amp; calling GC.Collect(GC.MaxGeneration); But same results.<br>
Edit2: Added images from NET Memory Profiler &amp; ANTS Memory profiler</p>

<p>Please help me.</p>

<p>Here is the code am using,</p>

<pre><code>public class IntEntity
{
    public int Value { get; set; }
}

public abstract class Base
{
    protected List&lt;IntEntity&gt; numbers;

    public Base()
    {
    }

    public abstract void Populate();

    public int Sum()
    {
        numbers = new List&lt;IntEntity&gt;();

        Populate();

        int sum = 0;
        foreach (IntEntity number in numbers)
        {
            sum += number.Value;
        }

        numbers.Clear();
        numbers = null;

        return sum;
    }
}

public class Child : Base
{
    public override void Populate()
    {
        numbers.Add(new IntEntity() { Value = 10 });
        numbers.Add(new IntEntity() { Value = 20 });
        numbers.Add(new IntEntity() { Value = 30 });
        numbers.Add(new IntEntity() { Value = 40 });
    }
}

 Base b = new Child();
 MessageBox.Show(b.Sum().ToString());
 b = null;
 GC.Collect(GC.MaxGeneration);
</code></pre>

<p><img src="http://i.stack.imgur.com/6qoCC.png" alt="alt text"></p>

<p><img src="http://i.stack.imgur.com/pG8hq.png" alt="alt text"></p>
