服务器大量删除图片,占用内存不断增加解决办法

服务器大量删除图片,占用内存不断增加
写了个批量删除服务器中图片的winform程序,但是在运行的时候内存不断增加,占用内存从几十M上升到几G,服务器上图片有几万张,请帮忙看下程序哪有问题导致内存泄露。
void deleteFile1() //区间删除
        {
            if (textBox1.Text == "")
            {
                richTextBox1.AppendText("必须首先指定根目录" + "\r\n");
                return;
            }

            DateTime dt2 = dateTimePicker2.Value;
            string month2 = dt2.ToString("MM");
            int day2 = dt2.Day;


            DateTime dt3 = dateTimePicker3.Value;
            string month3 = dt3.ToString("MM");
            int day3 = dt3.Day;


            string imagePath = "";
            for (int j = day2; j <= day3; j++)
            {
                string t = j.ToString();
                if (t.Length == 1)
                {
                    t = "0" + t;
                }
                else
                {
                    t = t;
                }

                imagePath = textBox1.Text + "\\" + month2 + "\\" + t; //获取根目录+月份+日期的路径

                if (!Directory.Exists(imagePath))
                {
                    richTextBox1.AppendText("选择区间内目录不存在,无法删除\r\n");
                    return;
                }

                string[] hourDirectories = Directory.GetDirectories(imagePath);

                foreach (string hourfp in hourDirectories) //获取小时文件夹路径
                {
                    this.BeginInvoke(new MethodInvoker(() =>
                    {
                        richTextBox1.AppendText("小时目录路径:" + hourfp + "\r\n");

                    }));


                    string[] hourFies = Directory.GetFiles(hourfp);//获取小时文件夹内的所有文件

                    for (int i = 0; i < hourFies.Length; i++) //清空小时文件夹内文件
                    {

                        File.Delete(hourFies[i]);

                        this.BeginInvoke(new MethodInvoker(() =>
                        {
                            label2.Text = string.Format(hourfp + "已删除小时文件夹文件:{0}/{1}", i + 1, hourFies.Length);

                        }));

                    }

                    Directory.Delete(hourfp, true);//删除当日所有小时文件夹

                    this.BeginInvoke(new MethodInvoker(() =>
                    {
                        richTextBox1.AppendText("已删除" + hourfp + "小时目录\r\n");

                    }));

                }
                Directory.Delete(imagePath, true);

                this.BeginInvoke(new MethodInvoker(() =>
                {
                    richTextBox1.AppendText("已删除" + imagePath + "日目录\r\n");

                }));
            }
        }
------解决思路----------------------
服务器大量删除图片,占用内存不断增加解决办法
------解决思路----------------------
1.先查看一下,你程序关掉的时候,进程还在不在,有没有死进程
2.确定进程已经不在了之后,如果内存还下不来,看看到底哪个进程内存暴涨
3.如果没有任何进程内存暴涨,而总的内存却暴涨,恭喜你,中病毒了,而且此病毒很高级,运行着居然不在进程里显示