This might be a licensing issue from what you are telling.
If you have one license (one engine) the parent will use that engine and the spawned child processes will wait (forever).
As Erik mentioned, this sounds like the child process is not processing as it is waiting in the queue behind the already processing parent (assume you are waiting in the jobsubmitter), which never finishes because it is waiting for the child to process. Basically this is because the server doesn't understand its own url. So if your server is www.example.com but it doesn't understand that, when the jobsubmiiter submits a child process to www.example.com it thinks it some random server somewhere else. From 2014 fme server had the ability to run a parent and child process using the same engine.
After that long explanation, the simplest answer is to set the fmeserverjobsubmitter to call the servers name (e.g Server1) rather than the dns of www.example.com
Check that you have enough licensed engines to run all your workspaces.
E.g. if you only have one engine and you try to spawn a child workspace asynchronously, it will block the way you describe it. You can, however, run your child workspace synchronously granted that the FMEServerJobSubmitter has Wait for job to complete=Yes AND the URL used in the FMEServerJobSubmitter matches the host name given when you installed FME Server (if not, it will be noted in the log).
More info here: https://knowledge.safe.com/articles/351/fmeserverjobsubmitter-transformer-may-cause-worksp.html