title: Memory leaks happens in nested anonymous method
body: <p>In Delphi XE, the following code will cause memory leak:</p>
  
  <pre><code>procedure TForm1.Button1Click(Sender: TObject);
  var P, B: TProc;
  begin
    B := procedure
         begin
         end;
  
    P := procedure
         begin
           B;
         end;
  end;
  </code></pre>
  
  <p>Run the code with</p>
  
  <pre><code>ReportMemoryLeaksOnShutdown := True;
  </code></pre>
  
  <p>and the memory manager prompt:</p>
  
  <pre><code>21-28 bytes: TForm1.Button1Click$ActRec x 1
  </code></pre>