I seem to have discovered a problem with using multiple character controllers and multithreading. I'm not sure exactly what the problem is yet, but I was able to isolate the behavior in the character playground demo and force it to reliably throw an exception. In the screenshot below, the info.Contact is null. Looks like something is manipulating the list while it is being evaluated. I haven't figured it out yet but I thought I should post what I found in case there is something I am overlooking that is causing the problem, and if not maybe Norbo can take a look at it sometime.

The changes to the character playground were to create 40 additional characters and provide them random keyboard input for the E/S/D/F and A keys. It's obviously a contrived situation, but it is based on a real situation that occurred in the game I am currently working on.
I have attached the modified CharacterPlaygroundDemo.cs file, you should be able to just copy it over and run the sample to see the problem in short order.
Thanks again for Bepu, it's been a great system and I am sure this bug will be sorted out soon (if it is a bug and not some kind of usage error).