I was able to identify the source of my problem with the help of @Gerd Arnold and @Chris Pratt's suggestions.
In fact, the exceptions were brought on by a DbContext object that was utilised simultaneously across many queries. This DbContext is a component of a service that an action filter that uses Unity property injection has access to. What I didn't realise at the time is that action filters in APS.NET MVC are cached and reused rather than being created for each request. Therefore, avoid injecting instances of DbContext or classes based on DbContext into action filters!
That problem was resolved by contacting
rather than utilising
-attribute in the code of our filter to get an instance of the appropriate dependency (Please note that you lose the testability of the filter through this workaround)
Finding the answer took me a long time. I would advise users who sometimes see the same issues as those in my query to look for any DbContext-based classes that could be utilised simultaneously across requests or threads in your application.