Looks a lot like more syntax sugar to me, to hide boilerplate code. It's not necessarily a bad thing, but it can obfuscate the actual meaning of the code for the sake of brevity. What does A ??= B do at a glance, for example?
It's not exclusive to C# or "corporate" languages either. Rust has a fuckton of syntax sugar that makes it difficult to read.