Joe, we have visited this type of issue from time to time. The heap size, if it is related to a mainboard (and it is) belongs in the mainboard Kconfig and should not be user-visible. The reason is that if it is visible then that visibility implies that it can be safely changed, much as the baud rate can be safely changed. That is clearly wrong: many values of heap size will result in a locked up platform.
Thus, heap size can be set in mainboard kconfig, but should not be user visible.
As for your pci problem, I suspect it's not out of memory for the original bios but a bug in the bios or the hardware itself. We've had lots of chipset/pci card combinations over the years that confused the bioses, badly. It just happens.
thanks
ron