não conseguir converter de FILETIME (hora do Windows) para dateTime (recebo uma data diferente)

A maioria dos arquivos que leio obtém a hora certa ao usar o seguinte método para converter:

// works great most of the time
private static DateTime convertToDateTime(System.Runtime.InteropServices.ComTypes.FILETIME time)
{
    long highBits = time.dwHighDateTime;
    highBits = highBits << 32;
    return DateTime.FromFileTimeUtc(highBits + time.dwLowDateTime);
}

Aqui tenho um exemplo no visual studio para mostrar como esse método às vezes não funciona. Por exemplo, mostrarei o arquivo real no meu computador e a depuração. Portanto, o arquivo que está na minha depuração é:

"A: \ Usuários \ Tono \ Documents \ Visual Studio 2010 \ Projetos \ WpfApplication4 \ WpfApplication4 \ obj \ x86 \ Debug \ App.g.cs"

E aqui está o FILETIME que estou tentando converter para DateTime "Eu preciso do LastWriteTime, a propósito"

Aqui você pode ver o dwHighDateTime = 30136437 e também o dwLowDateTime = -2138979250 desse arquiv

E quando executo meu método, além de outras técnicas, recebo as seguintes datas:

Até agora, tudo parece estar funcionando muito bem. Mas por que é que, quando navego e procuro esse arquivo específico no Windows, recebo uma data diferente!? Aqui está a data que eu recebo ao ver as propriedades do arquivo:

Por que as datas não coincidem? O que estou fazendo errado

questionAnswers(5)

yourAnswerToTheQuestion