title: Memory Leak on BeginInvoke
body: <p>1) I heard that when we won't call EndInvoke() it may lead  to memory leak? can you demonstrate it how could  this lead to memory leak?</p>
  
  <p>2) When i suppose to call EndInvoke() shall i use the code like following ?</p>
  
  <pre><code>namespace BlockMechanism
  {
      public delegate int MyDelegate(List&lt;int&gt; someInts);
      class MainClass
      {
          static void Main()
          {
             List&lt;int&gt; someInts = new List&lt;int&gt; { 1, 2, 3, 4, 5, 6, 7 };
             MyDelegate test = FinalResult;
             IAsyncResult res=test.BeginInvoke(someInts, null, test);
             Console.WriteLine(test.EndInvoke(res));
             Console.ReadKey(true);
          }
  
          public static int FinalResult(List&lt;int&gt; Mylist)
          {
              return Mylist.Sum();
          }
  
      }
  }
  </code></pre>