I think your split level is causing your problem, but you really shouldn't be trying to do it this way anyway.
You really want to keep appdata and system shares on cache. They are cache-prefer by default but you have changed them to cache-yes, with the result that they have files on the array. With these on the array, your docker performance will be impacted by the slower parity writes, and your dockers will keep array disks spinning since there will be open files on the array.
And it looks like you have plenty of cache to work with, so no good reason to put these on the array. You can backup appdata with the CA Backup plugin.
Also, your docker image is currently 64G (though it is set as 16G in docker.cfg). 20G is the usual recommendation and should be more than enough unless you have something misconfigured.
And, generally, I don't recommend Most-Free allocation method. This can also perform badly since it might force Unraid to spin up disks as it tries to keep them at the same amount free. The default allocation method of High-Water is default for good reason. It is a compromise between using all disks (eventually) while not constantly switching disks just because one disk temporarily has more free space than another.