Pretty much. I don't know the details, but do listen to several WP podcasts and several developer podcasts. I don't recall which one it was, but a while back one of them had one of the engineers from the WP team as a guest on the show, and he talked a good deal about this. Powering up the data radio is what he said was quite an expensive process, in battery, because of the things that have to happen to open the connection. I'm guessing now, but I'd say that not only is it the cost of transmitting power, but also the processing time that it takes to establish the communication.
Because powering up the radio is so expensive, the OS decides when to run background agents, and it does so at times when it would have the radio powered up for its own purposes (this is why developers and users can't decide how often to run the agents). The frequency of this is every thirty minutes, but can vary either direction by ten minutes. So your background agents will run once every 20-40 minutes. I don't know what the variables are that would make it vary that plus/minus ten minutes.