Initialize function of a background service runs every time a onTemporalEvent (within the same class) is ran?

So, every time onTemporalEvent is called, the initialize function of the same background class is ran. I find it odd. Is this a normal behavior?