There is no simple answer, but it's mostly to have better performance and save as much server resources as possible.
At the initial search the plugin returns the first set of results, and a number of possible eligible results. This number however may not be final, because not all of the items are processed at the first iteration, as it would create a huge performance issue. This is because the plugin offers all types of filters, exclusions and other conditions to exclude/include certain items from the search results list. Some of these conditions are rather executed after the query process is finished. This can however affect the number of final results, but since it requires post-processing, it cannot be determined unless all of the items are processed – causing lots of unneccessary server work, which is exactly what I try to prevent.
The only solution would be to repeat the search process until the correct numer of items are returned, but that again puts an unneccessary huge workload on the database server.
I'm trying my best to improve this logic in every release, but unfortunately in some cases it's still not accurate enough. If you want, you can leave FTP access here, and I can try to investigate where the calculation gets incorrect. I'm more than happy to debug it.
Unlimited scrolling will be implemented in one of the upcoming releases for sure, as it has been requested a few times before.Best,
If you like my products, don't forget to rate them on codecanyon :)