Records are meant primarily for immutable cases such as DTOs. If you use them for mutable data, my guess is it uses some structure sharing to not duplicate all properties but instead hold pointers to the old unmutated properties. That's how a lot of immutable paradigms work but I don't know what C#9 does under the hood
I think the most of us are agree that PM will make the code more readable and clean bla bla bla, but the problem in the C# language. Do you know how many ways that you can check the null in C#? (object == null) try to collect them and tell me which one is good. I think the problem here is C# blowing-up