idonttalkenough
idonttalkenough on Hacker News
Backups are also fairly easy so if need be a DR can be done (and automated) with very little hassle. The vaultwarden backend does depend upon the bitwarden apps for client devices but also features it's own web UI.
Microsoft has been making major moves in how c# gets compiled (AOT/JIT/Native). This is a concurrent effort to cross-platform support.
In doing going so they've minimized performance differences with other languages. The only thing they've yet to completely tackle is memory handling, so in reality, while it might not seem like it at first, your question is asking about that subject.
The GC is responsible for allocation and destruction.
On top of this recent advancements in .net have lead to native AOT.
Something to look into.
Extrapolating it to a larger sense, this SO thread explains it a little bit.
The GC since the top answer has changed quite a bit; I'd read about the changes to the .net clr/framework since v5/6
Use a utility container to learn some of the network/options of docker. The network-multitool[1] container is a good one I use.
So for example, create a few containers in a manifests/compose file with different network settings and try pinging, telneting, etc from one container to another.
This container can also be used to help debug workload containers that are having connectivity issues. If you need more tooling just create an image with this container as a base.