See:
http://www.lua.org/manual/5.3/manual.html#4 section 4.8 - function: lua_Alloc
This is the backend API function of LUA to allocate and free memory in it's environment. So by looking at this interface we can see that really.. How LUA allocates memory is up to the host environment and not LUA. That is the ESO client in our case.
ESO could use multiple different ways to manage the MAX LUA memory.
- Just a running count of total bytes allocated.
- Pre-allocate the requested LUA memory block and have lua_Alloc serve memory out of the block.
So in summary. I don't know.