That's a good question. It almost wasn't; there was a period post-WinRT, pre-"microsoft open sources everything" where investing a huge amount of effort in the ecosystem didn't seem like it would make sense. I did consider a more traditional (for the games industry) path of C++, but even simple things like the effort required to keep build times reasonable were... not appealing. And modules kept getting kicked back. Even back then, I was considering rust as a preferred alternative.
And then everything went open source, some fruits of Midori started getting rolled in, and a focus on performance appeared. Stack that on top of the fact that C# has some pretty darn good tools, and I was comfortable jumping in more deeply. Notably, I did not just start making bepuphysics v2 at that point. It's sort of the tip of the iceberg- bepuphysics v2 is C# because all the other private stuff I've built is C#, and it's nice to minimize the developmental and runtime overheads between projects when possible.