Looks like it is using a timer API that tries to 'catch up' when the callout is delayed (even by sleep), so on wakeup all the callbacks happen back to back.
Not only does this break the network, the device itself is probably unresponsive until it has finished.
The real fubar is sending 'I am here' messages out at all, never mind at 20 second intervals.