No. It is not a privilege issue. The fact it sometimes works proves this. If there were a privilege issue it would never work.
As far as I can see it is one of the following:
1) In a multi-user environment, more that one user is attempting to do the same thing at the same time, causing this issue.
2) Unknown to them, there code can sometimes fire the same command twice. So for example, the first drop works, the second fails with this error. The first create works, the second fails with this error.
This is most certainly an application issue, not a database issue. If they instrument their code properly, they will be able to see exactly what is happening when this fails.