Duda Threads en C#

Buenos días estoy estudiando C# y me he encontrado con la necesidad de hacer que mi programa haga una pausa, hasta que pasen x segundos o hasta que el mismo usuario genere un evento. He intentado trasladar mis conocimientos de threads de java a C# pero no termina de funcionar correctamente. Mi pregunta es: ¿se puede hacer una pausa en el programa y que se genere un evento bien si el usuario ha realizado una acción o bien cuando han pasado x segundos? PD: estoy trabajando realizando una aplicación de consola en .NET PD2: gracias de antemano.