This is related to the gas metering of storage changes.
When you transfer a token, the balance sheet inside the token contract is updated. This means you need to adjust the balance of the sender and the receiver.
When a storage slot was originally 0
and is changed to a non-zero value, you need to pay 20k gas. Otherwise you pay 5k gas. And you change the value from non-zero to zero you get a gas refund at the end of transaction of 15k gas.
Looking at the second link you shared you can see that 0x3099e12ca83c51e9b82ea6c5a08723aed4912068
transferred all tokens available, therefore setting the balance of that account to zero. This triggered the gas refund of 15k gas, which is the difference in gas costs.