What C# plans are there in regards to avoiding memory allocations?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By HiddenMonk

From looking at the C# API, it seems there is a lot of allocations and boxing going on, which wouldnt it cause a lot of garbage collection to happen?
I come from unity, so I dont know if the Godot garbage collector is something to not be afraid of, but I assume it is.
For example, the PhysicsDirectSpaceState methods like IntersectShape or IntersectRay return Dictionaries or Arrays, and non generic types as well, so everything is just an C# “object” that needs to be casted, which if its a struct value then it would cause boxing which is even more garbage.

Are there any plans to make the C# API be more specific with its types, as well as allowing us to pass in our own locally stored buffers so that the method doesnt need to allocate anything? For example, Unity has OverlapCapsule and OverlapCapsuleNonAlloc.