**Problem:**
According to the current implementation of Blazor(dotnet/aspnetcore#16213 (comment)), it runs in single-thread mode. Thus the call to `System.Threading.Thread.Sleep` will block the UI thread as well. It means when clicking the button, the UI freezes.
For example, in button component, the UI will freeze of 500ms. It's a relatively small time, however Chrome do give a warning to this:
*[Violation] 'setTimeout' handler took 500ms*
**Changes:**
Use `Task.Delay` which is a kind of built-in timer from dotnet. It won't block the UI thread.
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* Children components using CascadingParameter add itself to parent component.However, when children components disposed, they are not remove from parent component. For example, when items in checkgroup have changed , it may causes Index was outside the bounds of the array at AntDesign.CheckboxGroup.OnCheckboxChange.To fix these bug, Adding remove function in dispose process is the solution of this commit.
* fix: some exception
Co-authored-by: ElderJames <shunjiey@hotmail.com>