Currently a user can trigger remove of a platform, which returns relatively fast after the initial marking child resources to remove. Later an async job is removing all the related stuff. Now the user can when the UI reports success come back and remove another platform. Now two async jobs may start to remove data from the database, basically stepping on each others toes and provoking a huge overall slowdown. Thus the async jobs should be serialized so that they can't run in parallel - actually when the resources are marked for deletion, it does not really matter how log the final data removal takes. It could also make sense here to delete in smaller chunks so that database rollback buffers don't get too large and/or that no risk of full table locks arise.
There is only one recurring async resource delete job. I don't think this is still a concern.