That's an interesting issue. Boiled down to the object name having '//' in it, which drove a certain direction for the shard location that wasn't the same shard location that the delete function looked in.
Sounds like the shard hashing happens before or after object name normalization depending on the operation. Ouch.
Based on sib comment, it looks like it was related to a poor name sanitation / matching function (which says, to me, that's risky if you have untrusted names), but this could also be caused by a lazy or delayed deletion strategy.
There are loads of issues like this on their github: https://github.com/minio/minio/issues/8873