memp_malloc: out of memory in pool TCP_PCB
Inspite of these messages webserver works. But these messages are really annoying and tell us that something horrible has happened.
No, that's normal: you ran out of pcbs, but the tcp code then closes that oldest pcb in TIME-WAIT state and then calls memp_malloc again, which then succeeds. This is why the web server continues to run normally.
In tcp, pcbs stay in TME_WAIT state for some minutes, so you would have to configure the tcp pcb pool very large to get rid of this message.