Use Preformance Monitor to gather statistics and schedule time.
Creation on execution trigger based on memory used is not effective.
If task need 5 hours to completet and starts when it detect a low RAM usage, but in half an hour will be started an another task by schedule (like reindex or something like that) - load would be ineffective.
So i recomment Perormance monitor analysis and running task in known low memory use window.