if you are using all the executors then you are using the "input" step inside a node block.
Use it outside of a node block and it won't consume any executors (and IIRC as of recently it won't consume any threads either!)
If you need access to your files (which may be true if you are keeping the node active) use the stash/unstash command (1.10) to store and retrieve them.
SO that will fix your executor issue - the next issue is leaving 1000+ builds waiting for user input....
It really depends on your flow - do you want to wait 14 days for that one build in dev to to be authorised to production?
If not - then wrap the input with a timeout - which will then abort the build if no one wants to promote it.
Do you have multiple dev environments? if not then you can also kill the waiting for ok to promote to production when a later build is promoted to dev.