I am sorry for the delay of this reply,
It would be best if you can use back cronjob to process your site email is because there will have some cases like what you hitting getting those duplicates email now.
Why some of the site not suitable to use `"Sending email on page load" is because if the site every single minute have a lot of user to access your forum page and comment/reply/create discussion, the system will always check is it have pending email haven't send out yet. If yes, it will process it.
But at the same time, the system do not know these pending email which already sent out because when the user load your forum page, it will do this trigger and send out the email. Imagine your site multiple user (for example : 100 users) access your forum page at the same time, the system will messed up all the email which already sent out.
If you setup cronjob in your server, it will process it every fix minute as what you configure from the server. And it will make your site performance speed faster than when you enabled ""Sending email on page load".
I would recommended to use back cronjob in your server, it should fix this issue.