I'll need to make a clarification on that page in the manual. Thanks for brining this up.
RequestContext and ReturnContext does not implement the context pool for you. However, they are there to simplify the implementation of a context pool. By default, these methods internally calls CreateContext and Release, but if you register the context callbacks they will call those instead of CreateContext/Release. Registering the context callbacks will allow the application to prepare the context for the engine's internal calls too, thus allowing the application to trace/debug even these internal calls (internal calls happens for example when initializing global variables or destroying objects from the garbage collector). The add-ons are also using the RequestContext and ReturnContext calls so all goes to the same place.
A basic implementation of a context pool is described here on the fine tuning page in the manual.