Hi Lee,
It is normal for Maintenances to hang the server as they are ran on the main thread and as a result of that users will receive message "Server running a report, please wait".
I would advise you to add some logging into CreateSHsFromSOsMn function as it seems very unlikely that the Maintenance would not complete the task if all parameters and requirements have been met.
Best Regards,
David D.