I can add a little to this topic. What I notice is that if I create several documents by assignment to a DOCUMENT attribute, the original file name for each of them is the same. There could be a weakness in the file naming algorithm that would cause the problem you are seeing.
Obviously, this could be a major security concern, separate from the inconvenience and user confusion.
If no other resolution surfaces, instead of using the assignment method to generate and store the document, where the system picks the file anme, maybe you could create your own quasi-unique file name by using the UserName + a Timestamp string or something, writing out the file using that name and then loading it into the DOCUMENT attribute using a rule... It won't take any longer, but your concurrency collision potential would be minimized. You could create an attribute in the object in which you store the document to hold the generated file name and an object creation rule to populate it, or you could use something global, like a LoggedInRegularUser attribute for it depending on your needs.
I wonder if the same issue could occur if multiple VIEW DOCUMENT requests occur nearly simultaneously, even with my suggested approach to avoiding the name collision. If two DOCUMENT extractions tried to use the same file name, one might overwrite the other or fail altogether due to a read lock on the file from the first client.
Good luck.