Curie PROGMEM

Hey Guys, I've been running into an issue attempting to store large arrays in flash using the PROGMEM keyword.

Basically, I can see the program size increase as I increase the size of the array, but I eventually get an error stating that the heap cannot fit in SRAM. At this point, the flash utilization is only at 28%. I thought that using PROGMEM would keep the array in flash only, not SRAM. I only access the array using the pgm_read_byte_near function, so I don't think I would be accidentally copying the array from flash to SRAM.

Has anyone seen this behavior?

here's my array declaration:
prog_uchar StellarCaps[9766] PROGMEM = {...I won't post the 9766 bytes...};

and access:
unsigned char _byte = pgm_read_byte_near(StellarCaps);
Serial.println(_byte, HEX);