Set a runtimeout variable in your policy. This will specify how long the session is allowed to remain idle before pmlocald will terminate the session. For example, runtimeout=300 will terminate the session after being idle for 5 minutes.
There is no default runtimeout. The pmlocald will continue to run until the run command has completed, and then exits. If the run command never completes, the pmlocald would continue to run indefinitely.