Да такой и хотел, запускается асинхронный процесс с таймером, который запускает нужную процедуру и с интервалом в одну секунду проверяет и в нужный момент завершает. Такие методы есть в C#, но готового решения не нашел, к сожалению, пока.
В целом можно даже не до секунды ну хотя бы 2-3 секунды...