Blazor bindings like @bind-Value do not listen to collection changes. If you want your binding to work you will need to assign multi to new value instead adding items to collection.
This is symptom of similar items with different hash on every state change of the page - the item have same property values however is different - you can debug your code for details.
I have created a local list and then assigned new value to multi at the end.
List<Site>? selectedSites = new List<Site>();
selectedSites.Add(auth.Sites);
multi = selectedSites;
However, I don't understand what you mean by the below comment ? Could you please elaborate and suggest a solution ?
This is symptom of similar items with different hash on every state change of the page - the item have same property values however is different - you can debug your code for details.
That's not a very nice way to speak to the maintainers of the open source library that you use. We don't tolerate such behavior here so I am banning your account.
Also we do know how this works (obviously) and it works exactly as @enchev said - you need to assign a new instance and not just create a new variable pointing to the same one.