It is up to your cluster admins to ensure that the schedule (e.g. slurm) does proper cleanup of /dev/shm after jobs terminate. At least on exclusive nodes, this is trivial - they just need to nuke /dev/shm and /tmp in the slurm epilogue.
In any case, the use of /dev/shm is not due to NWChem, but the communication layer. Both the native ARMCI ports and MPI use shared memory (Sys5 or POSIX). This is necessary and there is a low bound on what is required for them to function. For Global Arrays applications like NWChem, it can be a large amount, since all GA allocations will go there.
2.3 GB is a lot of /dev/shm but is not surprising for NWChem CCSD jobs. If you are running TCE, you can use the filesystem instead but the code will run so much slower it's not worth doing. You will not only have very slow performance due to the disk speed but you will also lose some of the GA-specific algorithms that make CCSD go faster.