Eine andere Möglichkeit gibt es da nicht.
Du kannst doch eine eigene Aktivierungsgruppe verwenden und Teraspace dann verwenden.

Soweit ich weiß besteht das Problem nur, wenn ich einen zusammenhängenden Bereich >16MB benötige. Das halte ich aber für sehr unübersichtlich.
Ich denke mehrere kleinere alloc's können insgesamt über 16 MB gehen. Also arbeite mit Verpointerung der Daten oder Listen von Strukturen usw.

Ansonsten schau mal nach HEAP-API's.