ESP8266 freeze over time

Then start putting in lots of print statements so you know exactly what's happening in your code, what values various variables have, and where the freeze happens. Make sure to include a heartbeat as well (a message that simply goes out every few seconds to show the thing is still alive). Standard debugging, so to say.

You could also consider to post your code, circuit diagram, and any other info that may be relevant.