если понимаете в C# то это очень легко.
Для начала нужно перевести нужное вам время 23:55 в юникстайм в секунды, за тем получаем время компьютера в юникстайм так же в секундах. Далее сравниваем с помощью if если полученное время больше либо равно >= тому что мы перевели 23:55 то делаем цикл:
15 минут = 900 секундам = 90 циклам по 10 секунд.
Сначала пишите цикл, который будет выполнятся < 90 раз. В цикле получаете время компьютера, переводите его в юникстайм, в секунды, и так же к 23:55 добавляете +15 минут и переводите в юникс тайм в секунды, за тем сравниваете через if если 00:05 (в секундах) больше чем текущее время компьютера, то становитесь на паузу в 10 сек, а если не больше либо равно то выходите из цикла. Такая логика)