Respostas:
A System.Diagnostics.Processclasse tem uma propriedade que contém a hora de início que você pode usar para calcular por quanto tempo está em execução:
var current = System.Diagnostics.Process.GetCurrentProcess();
DateTime startedAt = current.StartTime
current.StartTimeé a hora local do servidor, não UTC.
Use StopWatchclasse para este recurso.
Mesmo que seja um exagero, sempre funcionará, mesmo se o usuário mudar o relógio ou mesmo se houver alguma mudança de horário de verão durante o processo. - Julien Lebosquain (Comentário à minha resposta.)
Você pode ter um Static DateTime Variablepara seu projeto e armazenar a data e hora no construtor de sua classe principal. Referenciar esta variável estática e comparar com o tempo atual ajuda você a alcançar seu resultado