Hi, thanks for posting!
I'm glad the churn mode feature is working well for you.
This issue is due to the design of MSpec and the test in question. Like most runners, MSpec was originally designed to run all tests once, then terminate. NCrunch changes this behaviour by re-using the test runner process, so side-effects from tests being run under difference sequences can surface.
In this particular case, the _strings value is a static field of the class. Under the CLR, once a static field has a value assigned to it, the value will stay there unless replaced by something else. MSpec has no way of knowing about this static field, and NCrunch is designed not to touch it or interfere with the workings of your code. This means that the second time your test is run by the same process, it will explode because the value has carried over from the previous run.
This is just one of those things to be aware of when working in MSpec, since it does lean a bit heavier on static state than other frameworks. Make sure you initialise all static fields at the beginning of every test. If initialisation of this particular field is a problem, you can use
NCrunch's Isolated Attribute to force the test to always run in a new process.