Hello!
Yes, sure, it is an expected behaviour. Let me explain.
The wording "no more often than 30 sec" indicates that even if the conditions of your trigger are met, the trigger will not be executed again until at least 30 seconds have passed since the last time it was executed.
In your example, if a market is refreshed every 5 seconds, the trigger will check its conditions every 5 seconds, in case they are satisfied. If they're not, it will try again the next time that market is refreshed, i.e. in 5 seconds. If they are, the trigger will execute its actions and then hold for the next 30 seconds without doing anything (not even checking its conditions).
Incidentally, if a market is refreshed, say, every minute, that means the trigger will be executed every minute (at best), hence the words "no more often" (i.e. could be less often).
Hope it makes sense.