you aren't going to get much value out of bumping the heaps up that high in terms of capacity. what you could do w/ more memory is have more instances on each node. 32gb would let you run a couple 12gb heap instances w/ 8gb left over for the os and nsh processes from the jobs.
8gb heap is probably good for deploy and nsh since those aren't very memory intensive, 12g is probably going to help if there's a lot of patching and compliance.
After taking Bill's suggestion into consideration and more discussion, we decided to stay with our original configuration with more instances available (M5.xlarge --> 8 * 4 CPU X 16GB RAM (128GB RAM Total)) and will leave our JVM heap sizes at 8GB through the initial deployment. Most of our jobs are NSH script and file deploy jobs, so there isn't a lot of local processing that should be taking place on the job servers.