I cannot say for sure why you are seeing the results you've described, likely it is just that with each run on the same data store, more data is getting populated into KVlite.
It is not a good idea to use KVlite for a YCSB test.
The KVlite instance links with your application and does not provide the kind of partitioning of a key space that would normally be fundamental to a YCSB workload.
The idea of YCSB is to provide a random workload over a large number of keys and then to do things like expand the data store while operations are happening and see the impact.
Those kinds of operations on random data access workloads cannot be expected to scale well on a single data store instance that does not distribute the key space.
I would suggest that you use a proper full version of kvstore to run such tests.
Hope this helps,
To add to Robert's comment, the NoSQL DB documentation on KVLite states the following:
KVLite is a simplified version of Oracle NoSQL Database. It provides a single-node store
that is not replicated. It runs in a single process without requiring any administrative interface.
You configure, start, and stop KVLite using a command line interface.
KVLite is intended for use by application developers who need to unit test their Oracle NoSQL
Database application. It is not intended for production deployment, or for performance measurements.
Per the documentation, you can use KVLite to test out the API calls in your performance benchmarking application, but you should not use to it perform the actual performance testing. For performance testing, please install and use the Oracle NoSQL Database server.