I guess it's because the tiled background object changes renderstates for a tiling render process. Otherwise I don't know why. Optimisation is a very tricky area - you can never know for sure something is faster until you measure it. I've had cases where removing code made it go slower. You can't know till you measure.
It's worth also looking at non-power-of-two tiled background sizes, because they draw completely differently.