My problem was loop, where button located inside of foreach loop. Normally on single button, click event works on onclick, like this:
<button class="btn btn-primary" onclick=(() => OnDelete(5))>Delete</button>
But when it is inside loop, click evet should be decorated with @, like @onclick
<button class="btn btn-primary" @onclick=(() => OnDelete(product.Id))> delete </button>