Thank you for your answer! I thought C# only implicitly copied the reference to that object. Also the wheelThrottleTrim and pitchTrim do behave like expected, but if accessing the ctrlState directly through the vessel works for you, then I will try this as well later on.
Edit: tried it, still doesn't work. As I thought, it's not the reference to the object that is the problem here, because I can observe it through a debugger and I can clearly see that the right object is modified. However, there is still something you're doing right which I am not. Does your code also handle the steering of the wheels? If so, could you show me the part of your code where you control the wheels? It would be greatly appreciated.
Edit 2: Somehow wheelSteerTrim doesn't get registered and wheelThrottleTrim does:
I made sure to use wheels that are steerable and I also checked if the steering was enabled for those wheels.