I encountered an error where an SQL CLR that had been in use for a long time was triggering this error from SQL Server:
Msg 6522, Level 16, State 1, Procedure MyProcedure, Line 0 A .NET Framework error occurred during execution of user-defined routine or aggregate "MyProcedure": System.Exception: Error logging data ---> System.InvalidOperationException: The context connection is already in use.
After looking at the code and only ever seeing one context connection in use at any one time, I started SQL Profiler on a whim to see what it was doing to the database.
The cause of the issue turned out to be the procedure logging its progress / debugging information to the database. Normally this would be fine but the table DDL had changed and was now causing an insert error. This resulted in an exception being thrown, which was caught by the CLR, which then attempted to log that exception back to the database, causing the re-use of the context and resulting in failure.
Restoring the table DDL to its prior state was all that was required to get things going again.