Ci sono diverse cose dubbie nella tua implementazione.

Innanzitutto, non è chiaro a cosa servano tutte le attese (Sleep) che hai inserito: quando si verifica la condizione del "file modificato", quella condizione deve rimanere sempre e comunque vera.

Poi, non hai indicato come hai configurato il Timer: continui a invocare il metodo Start a ogni "tick" senza un motivo (il timer non si arresta a meno che tu non lo faccia esplicitamente).

Infine, la logica di verifica della condizione di "modificato" è errata: per sapere se un file è stato modificato, ti basta memorizzare la sua data di ultima modifica all'avvio e periodicamente acquisire il valore aggiornato e verificare se è superiore al precedente; quando lo è, il file è stato modificato, quindi mostri la barra verde; quando invece non lo è, la barra rimane rossa.

Il confronto dei minuti non serve, così come lo hai implementato, e non servono nemmeno le attese.

Rivedi la logica della tua applicazione in base a queste indicazioni e poi vediamo se ci sono altri problemi di diverso tipo.