Moodle does not do everything as soon as it is asked for. It is more efficient for some tasks to be run in a batch. We call this batch run 'cron', and it runs hourly.
Forum posts are not emailed as soon as they are posted, they are emailed during cron. Therefore, emails get sent anywhere between about 1-59 minutes after they are generated.