I know that the C# Library "JitterPhysics" supports, among others, two shapes called 'TriangleMesh' and 'Terrain'. So maybe there are some optimizations for this specifically? I would really like some input from someone more experienced, thanks

Yup- the v1 terrain had a 'thickness'; it's a pretty simple thing for heightmap terrains.perhaps it could be more stable/robust than a mesh as well? (Ie. being "solid" infinitely downwards, preventing objects dropping thru even without continuous detection).
Yup.it did not seem to appreciate being run concurrently (since the Pool is not thread safe, I presume).
Was that while using the Simulation's BufferPool on another thread? That would do it.... I did see an odd crash in BepuPhysics.Trees.Tree.RefitAndRefineMultithreadedContext.RefitAndRefine - but only once, so can't tell if it's related or not.
Tree and Mesh now have Serialize and GetSerializedByteCount functions and constructors which take a Span<byte>:Building the shape offline, in the pipeline step, would be the best - but I'm uncertain how to serialize and deserialize something like BepuPhysics.Tree.Tree - having serialization methods from/to a ReadOnlySpan<byte> for that type, or even better for Mesh, would be awesome.
One of these days I'll get a pipeline set up* There's no prerelease nuget packets; so I had to include the source projects... which is fine
When referenced in a .NET Standard 2.0 project, System.Numerics.Vectors types are empty stubs. Roslyn sees the empty stub and says, oh, okay, nothing to initialize here.* I decided to compile them as .net code 3.1 (why keep it easy) and there were a ton of errors relating to uninitialized variables. Most of them seem related to having 'ref' semantics where 'out' semantics would be more proper, but perhaps this is necessary in many places due to do with the unmanaged nature of bepus memory handling? Two things that stuck out was the Depth field of ManifoldCandidate weren't set in many places, and if GatherScatter.Get was an 'out' many errors would be fixed.
That'll work fine. Can also call Clear. The underlying memory will get collected either way.* Running the mesh creation in the pipeline I just new:ed up a BufferPool for use and it asserted out with "Memory leak warning! Don't let a buffer pool die without unpinning it!"... I just set Pinned = false at the end since i have no idea what i'm doingWas that a horrible hack or just fine?