Da ist die Frage, was denn "im Hintergrund laufen" genau heisst.
Wenn man in einem Service alle paar Sekunden/Minuten etc. etwas machen will, sollte man keinen Timer benutzen, sondern lieber den Service immer wieder sich selber mit StartServiceAt() starten. Timer im Service funktionieren nicht zuverlässig. Bei kurzen Zeiten gehts meist, bei längeren Zeiten kann es sein, dass das System den Prozess killt.
Wenn sichergestellt sein soll, dass der Service im Hintergrund weiter läuft muss man mit Service.StartForeground() den Service als Foregroundprozess registrieren. Dann wird allerdings auch ein Notification Icon angezeigt.