Because the restart is not an atomic operation around .001% of the time after memmon stops a process it throws an exception when trying to start it. This results both in memmon crashing and the process being restarted being left in a stopped state.
The error is often a broken pipe, but is sometimes: httplib.IncompleteRead: IncompleteRead(32644 bytes read, 35829 more expected) which I believe means that
memmon.rpc = childutils.getRPCInterface(os.environ)
will need to be executed and then start to be retried.