سلام
من کد

using (System.IO.StreamReader file = new System.IO.StreamReader(@"F:FilmTVSerialMokhtar Namehmokhtar name 2.divx"))
{
string a = file.ReadToEnd();
}

رو که اجرا میکنم (حجم فایلم حدودا 250 مگ هست) ، بعد از اتمام بلاک ، هیچ چی ز منابع و رم آزاد نمیشه و 1 گیگ از رم رو اشغال میکنه با اونکه توی دستور using نوشته و متد dispose رو فراخونی میکنه
چرا؟
فقط بعد از بلاک using ، متد GC.Collect() رو فراخونی میکنم ، اشغال رم به حدود 500 مگ کاهش پیدا میکنه ولی به حالت اولیه اش (قبل از خوندن فایل) که 7 مگ رو اشغال میکرد ، نمیرسه
چی کار باید کنم تا به حالت اولش برگرده؟
ممنون