I first wrote sl_malloc.c in April 2003. https://git.openldap.org/openldap/openldap/-/blob/master/servers/slapd/sl_malloc.c?ref_type=heads
The intention was to grab a slab of memory on every incoming operation, allocate from it as needed like a stack to process the request and generate the response, never do frees, and just reset the slab when the processing completed.
It was complicated by the fact that a Search request usually yields multiple response messages.