I fear for this change, and would rather go the ThreadStatic route for a couple of reasons:
The copies might take a long time. I don't want to copy CerHashtable from the mono source code to get a lockless read, locked write hashtable.
Most of the data is constructed on the UI thread, thus we need to have the optimized route there. The impact of having additional activator copies for a bg thread is negligible
This is one way of removing all these synchronization points, lockless read, locked write