Using the https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/readonly[`readonly` keyword] on a field means it can't be changed after initialization. However, that's only partly true when applied to collections or arrays. The `readonly` keyword enforces that another instance can't be assigned to the field, but it cannot keep the contents from being updated. In practice, the field value can be changed, and the use of `readonly` on such a field is misleading, and you're likely not getting the behavior you expect.
To fix this, you should either use an https://learn.microsoft.com/en-us/dotnet/api/system.collections.immutable[immutable] or https://learn.microsoft.com/en-us/dotnet/api/system.collections.frozen[frozen] collection or remove the `readonly` modifier to clarify the behavior.