Hooray for native memory management.
OMG, that sounds so ugly.
Not only would you have to provide what would effectively be a custom new and delete, you would have to "hook it into" the C# managed side so you can allocate an object on that instead. And then you have to worry about how that plays with the GC. (pointers in unsafe blocks probably) Ugh.
Though at this rate, it may be less ugly than convincing the Unity devs to fix up some of this stuff, or at least give you more options.
The Unity engine seems cool, but not giving a hook to set things like heap sizes seems like a major hole.
With some really sophisticated, hackish, non-public API abusing, non-portable means, you might be able to "overwrite" how it tracks what the max heap should be like (if it is set explicitly, instead of implicitly like time limits on GC times, and quitting if it hits those limits, in which case you would want to try to find where that time ratio is tracked)