The memory allocated by tx_byte_allocate is from a statically-allocated pool as it mentions in the note, not part of the heap. It dynamically allocates memory from a statically allocated pool. In that manner, you can always be assured that at least X bytes are available to allocate per thread.
New/delete (or malloc and free) come from the heap, which is typically after static allocation and before the stack.
> My linker file does not specify a heap location/size
You sure? It probably does. At least the location is probably specified, not the size. Look at the _sbrk implementation to see where it grabs memory from. Sometimes there's a check so it doesn't overflow the stack.
(You can edit your post with the down arrow menu at the top-right of your post.)