I do not see any problem in your code we are following the same.
One more thing we are doing is before applying the filter we are calling
pauseAutomaticUpdatesAsync() - > then apply filter -> resumeAutomaticUpdatesAsync()
We will give your solution a go. I will let you know if it works.