For example- I am sending an FA1.2/FA2 token to an address that has previously not held any amount of that token. So, the address is not present in the ledger big_map of the contract. This would clearly lead to an increase in storage being used, since the address and the corresponding balance needs to be added to the big_map. Mostly this incurs a storage fee ~0.01675 tez (on mainnet).
However, at times, I have noticed that no storage fee is incurred in such a scenario (just gas). Why does this seem to happen?