Thanks for the answers.
Good point about Defender not blocking other actions; we can rule that out.
Drag & Drop not working can sometimes be caused by a previous drag from or to the program not being completed by one end of the drag & drop. We might be able to catch that happening, or maybe something else that's wrong, if you try a few drag & drops from/to Opus, and then take some process snapshots:
We can look at the snapshots and see what the different threads are doing and if any of them is blocking on our code or someone else's, and hopefully see why.