Some routers do not allow traffic from IPs which are not active DHCP leases. When DHCP lease expires, they block traffic. But many routers don't enforce this.
Some routers give out super short DHCP leases - as short as 30 seconds. But the typical length is 12 or 24 hours.
A public or semi-shared wifi router is more likely to use these policies to prevent exhausting the local subnet address pool, which is typically around 254 addresses.
Mac OS X doesn't believe that renewing a DHCP lease in 30 seconds is ever really necessary, limits the renewal frequency to once per minute.
I'd check the dhcp lease time.