title: free memory of an local array of string in method C#
body: <p>I have recently encountered a problem about the memory my program used. The reason is the memory of an array of string i used in a method. More specifically, this program is to read an integer array from a outside file. Here is my code</p>
  
  <pre><code>class Program
  {
  
      static void Main(string[] args)
      {
          int[] a = loadData();
          for (int i = 0; i &lt; a.Length; i++)
          {
              Console.WriteLine(a[i]);
          }
          Console.ReadKey();
      }
  
      private static int[] loadData()
      {
          string[] lines = System.IO.File.ReadAllLines(@"F:\data.txt");
          int[] a = new int[lines.Length];
          for (int i = 0; i &lt; lines.Length; i++)
          {
              string[] temp = lines[i].Split(new char[]{','},StringSplitOptions.RemoveEmptyEntries);
              a[i] = Convert.ToInt32(temp[0]);
          }
          return a;
      }
  }
  </code></pre>
  
  <p>File data.txt is about 7.4 MB and 574285 lines. But when I run, the memory of program shown in task manager is : 41.6 MB. It seems that the memory of the array of string I read in loadData() (it is string[] lines) is not be freed. How can i free it, because it is never used later.</p>