I've comfy with Godot at this point and learned it through GDScript since that seemed the obvious choice. However, I'm a .NET developer by day and would like to transition to using C# with the engine. Something I'm struggling to find info on is whether classes need to inherit from GodotObject. Clearly files that attach to nodes need to inherit Node, and I've found the docs on exports requiring all exports be "Variant-compatible." But can I just use plain old .NET objects? structs?

It seems from some extremely basic testing that I can. But do I want to? When I'm already in .NET, what are the base Godot types providing me such that I might want to use them? Why not stick in .NET land for use cases that don't need to get rendered to a screen and only translate out to Nodes and Resources when I need to?

I just don't understand the tradeoff and would like to.