Your function GetMd5Hash
has a file baked into it that overrides whatever gets passed in. Just kill off the first three lines inside of it
static string GetMd5Hash(MD5 md5Hash, string source1)
{
//FileInfo info = new FileInfo("D:\\file.txt");
//DateTime time3 = info.LastWriteTime;
//source1 = Convert.ToString(time3);