You should set Minimum Free for each user share larger than the largest file you expect to write to the share. If a disk has less than minimum, Unraid will choose another.
For example, you set Minimum Free to 10GB. A disk has 11GB free, so it can be chosen. You write a 9GB file to the disk, and so it only has 2GB free after and will not be chosen again for writes to the share since it has less than minimum.
Another example. Minimum Free set to 10GB, disk has 15GB free, so it can be chosen. You write a 20GB file, and the disk runs out of space and the write fails.
Cache also has a Minimum Free setting in Global Share Settings. If cache has less than minimum, cache-yes and cache-prefer shares will overflow to the array.