If you work in this space, you owe it to yourself to check out the Retlang library. Comprehensible model, blindingly fast, worked since .NET 2 and... utterly unmarketed.
And this is a single datapoint, I know, but it's _ridiculously_ stable in my experience.
Literally, I've been telling people to just use Retlang since 2007. So many people still just fire up the threads and locks...