As you use more than 100 hundred addresses, Bitcoin Core will generate another 100 address for the keypool. Generating and storing those 100 new keys will of course take up some extra space. If you are doing Bitcoin transactions with the principle one input one output, then you will have to generate 100 new addresses after 100 transactions.
Private keys for the keypool are not created in patches of 100, they are created whenever possible (wallet is unlocked) to match the requested (either per default or config) keypool size. IIRC
getwalletinfo shows how many unused keys are currently available. You will notice that this number is almost never below 100 unless you spam the "New" button.