I added a debounce feature to my ASP.NET Core C# Blazor project several months ago. It works well. We can use a timer with an interval that you can specify, and have async method invocation when the timer expires. When you SetValue, it will reset the timer, etc. Contact me if you want me to assist. I looked at your screenshots of your code, and have a fairly good idea what you're doing already.