The ALLOCATE built-in function is extended so that an AREA may be specified as an optional second argument thereby allowing users to allocate arbitrarily sized chunks of storage from AREAs as well as from heap storage.
Parsing XML (and similar) documents frequently result in complex list or tree structures. Clearing up those structures does require a substantial amount of processing as each node needs to be FREE'd individually in the correct order to avoid memory leaks.
By building such lists and/or trees inside an AREA, removal of the entire list or tree is reduced to a single "AREA=EMPTY();" statement, which saves significant amounts of CPU time.
IBM does listen to individuals, so if you have any suggestions and can present a reason for their usefulness, just create an RFE!