Wind Charges have no data that determines when they despawn, making them last forever.
Linked issues
relates to
Attachments
Comments


Confirmed in 24w06a
From my testing this appears to happen when the player modifies the charge's "power" nbt data.
Way to replicate:
1. /tick freeze
2. throw a wind charge
3. /data merge entity @e[type=wind_charge,limit=1,sort=nearest] {power:[1.0d,1.0d,1.0d]}
4. /tick unfreeze
5. wait for the charge to hit a surface. (note that you don't see any effects like particles happening)
6. use /kill @e[type=wind_charge]
7. you'll see that the command killed one wind charge, which already hit the ground and should've despawned.

Along with what YZERO said, it also seems that just throwing a wind charge to the sky causes it to never get unloaded if its chunk is loaded. Perhaps they should despawn after a minute like fireballs do to prevent this.
Can confirm as of 24w06a.