Nella tua Activity fai partire il servizio quando ti serve (anche nella Start) con una chiamata a StartService (senza At, così ti parte subito).
Nel servizio, in Service_Start esegui un StartServiceAt.
In questo modo fai partire il servizio (StartService) e quando il servizio parte, si 'programma' per ripartire dopo DateTime.now + ..... ticks.
Domanda... perché hai deciso di far partire il servizio quando l'activity va in pausa?
Dovresti immaginare il servizio come un 'fornitore di dati' sempre attivo. Ovvero le tue routine seriali dovrebbero essere controllate dal servizio, il quale continua a pescare dati. Poi, se la activity è attiva (cioè in foreground, ovvero nomeactivity.IsPaused è False) allora puoi mandare i dati direttamente all'activity (cioè se Main è il nome dell'activity puoi fare Main.NomeLabel = ...., o chiamare una syb presente nell'activity).
Se invece l'activity è in pausa (ad esempio hai fatto un activity.finish) allora con quei dati puoi fare qualcosa'altro...
Oppure puoi controllare che se l'activity è attiva, allora leggi i dati e visualizzi, altrimenti non fai niente tanto non c'è nessuno che guarda i dati. Oppure li salvi per dopo...