Some RAM is never used because when an application needs more memory it needs to be immediately available. It takes time for ZFS to free RAM, and if an application needs RAM faster than ZFS can release it.... bad things can happen.
My 32GB system typically has 2-3GB of RAM free.
Also keep in mind that:
1. ZFS doesn't use RAM unless it thinks there's something to be gained from a performance perspective. It's pretty liberal with using RAM until the system starts to run out.
2. Tunables and such change the behavior.. and autotune is *supposed* to set some conservatively hard limits.
Because of #2, you're probably creating this problem on your own. There's a reason we don't recommend you check the box.