Max,
We confused ourselves I believe. You can't manually allocate the memory that accept uses. When you close the socket, that memory should be freed. I wanted you to make sure that you're freeing the memory you create in your application for send and receive buffers. This isn't created by accept.
Also are you creating a task to handle each socket connection? If you are, make sure to delete the tasks when you're done to ensure that you're not leaking memory. If you have a task for each socket connection, make sure that you call fdOpenSession(TaskSelf()) at the beginning of your task and fdCloseSession(TaskSelf()) at the end.
Let me know if this helps
Moses