@myoung34 you're perfectly right, this is not a requirement but a convention on official image (it's required to get official image approved), and many custom image don't follow this.
Our issue here is we are abusing the container lifecycle : an arbitrary docker image is not designed to run arbitrary command like we use them for.
One option is to override entrypoint to run a custom command. But then we disable the initial entrypoint designed by image author, which in many cases is required for the image to make any sense. Typically, Selenium images do use it to run a X11 server. This option has been adopted in the past, introducing https://issues.jenkins-ci.org/browse/JENKINS-41316 regression.
The other is to assume newcomers mostly will try docker pipeline using official images. So we offer a solution which works out-of-the box, and can't report issue with target image if detected not to match our requirements. Those who are already used with docker-pipeline then get a documented direction on how to fix their image or update their pipeline.
I welcome any suggestion for a 3rd option. As one can't "docker exec" in a stopped container, we have to find some way for the container to run a "pause" command, and this is definitively not part of docker spec to support this.