Я не уверен, какова текущая лучшая практика, но в нашем магазине мы создаем консольные приложения и используем планировщик задач для их выполнения.
Библиотека (dll) не может быть выполнена из планировщика задач AFAIK, а приложение WinForms не очень полезно для любого приложения, которое запускается автоматически (т. Е. Не требует взаимодействия с пользователем).
Служба подойдет для приложения, которое должно реагировать на системные события / изменения, когда они происходят, что не похоже на ваш вариант использования.