if your class is able to be inherited from, changing how it works is a breaking change for users
there is actually a performance benefit: it's not that unsealed classes are inefficient, but small benefits add up (don't optimize prematurely, but this is a simpel change). This is because they don't have to check for covariance.
It is "reversible" if you need it to be
Analyzer Proposal: Seal internal/private types · Issue #49944 · dotnet/runtime · GitHub
dotnet_diagnostic.CA1852.severity = warning
Why all your classes should be sealed by default in C# - YouTube