The curse hits once per hour, but randomly within that hour. For example: It might hit at 21:55, and then at 22:10 again, and at 23:42 the next time.
From the devblog:
Effect: 5% of the units stationed in Olympus are destroyed every hour.The exact moment when units are destroyed is randomized, it can happen anytime within the hour. This happens once every hour. This power is permanent.
Thus it´s not a bug but works as intended.
Btw: On worlds with less than game speed 4 (and unit speed 4), the rebuilding and replacement of the troops killed by the curse might pose a serious challenge, also taking into account that the sieges will last longer on such worlds (and empty transport boats/ships will have to take the long way home). You should consider to reduce the power of the curse dependent on the world´s settings (game speed and unit speed).