Fixed. The short version is it's definitely a problem of my own making, though it's not related to threading. It's an oversight in the design of my own bindings which only causes an issue when you open multiple databases at the same time. I shall be able to fix without a problem in my bindings.
Thank you for your help, and sorry for wasting your time.
Kind regards,
Matthew