GNuradio is a streaming system by design, you need to insert as many zeros as you need between your bursts (depending on the idle time you want between your bursts). That's inherent to the way GR buffers data between blocks and won't call the work() method until it has "sufficient" data.
Cheers, Sylvain