I use infinite scrolling backgrounds all the time! :D
What I typically do is take a TiledBackground object and stretch to about 2 or 3 times the size of the screen.
Then I create some events that tell it to move at a certain speed (Set Background.Y to Self.Y * <Speed> * dt).
If it goes past a certain point (like 512 pixels away from its starting point) then it moves the BackGround object back to its starting point (If Background.Y is greater than <Background's starting y position + 512>, set y to its original position)
That's what I usually use! Hopefully, this will help!