سلام دوستان
یک تصویر دارم با ابعاد خیلی بزرگ می خوام این تصویر را برش زده و در ابعاد کوچکتر ذخیره کنم ولی کار نمی کنه
قطعه کد من به این شکله


private void Europe( int i)
{


Bitmap bitmap = new Bitmap(@"E:\bargheh\pic1.png");
Rectangle part = new Rectangle(new Point(0, 0), new Size(width_datagrid, 1338));
CropPic(bitmap, part).Save(@"E:\bargheh\p" + i + ".png");
////////////////////////////////////////////////////////////////
Bitmap source = new Bitmap(@"E:\bargheh\pic1.png");
Rectangle section = new Rectangle(new Point(0, 1339), new Size(width_datagrid, height_datagrid-1339));
CropPic(source, section).Save(@"E:\bargheh\pic2.png");
source.Dispose();
bitmap.Dispose();
System.IO.File.Delete(@"E:\bargheh\pic1.png");
//source = new Bitmap(@"E:\bargheh\pic2.png");
//bitmap = new Bitmap(@"E:\bargheh\pic2.png");
//System.IO.File.Replace(@"E:\bargheh\pic2.png", @"E:\bargheh\pic1.png", null);
}

ولی این خطا رو میده


An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll


Additional information: The process cannot access the file 'E:\bargheh\pic1.png' because it is being used by another process.
در حالی که من bitmap رو در خط پایین آزاد کردم بعد تصویر مادر رو حذف می کنم ولی بازم خطا میده
توضیحات بیشتر
تصویر اصلی اسمش Pic1 هست و می خوام با برش زده و با اسامی P0,P1,P2,... ذخیره کنم برش اول انجام میشه یعنی مرحله اول انجام میشه و P0 تولید و ذخیره میشه تصویر Pic2 هم مابقی تصویر هستش که برش داده میشه حالا می خوام Pic2 را به Pic1 تبدیل کنم و کار رو ادامه بدم خطا میده که Pic1 در حال اجراست در حالی که من آزاد کردم با کد bitmap.Dispose()
لطفا راهنمایی کنید