User programs have access to 72MB of memory, that really should be enough. However, unless you start messing with the build scripts in VEXcode, you need to access most of that using global variables, it sounds like you were trying to use local memory, each thread has a very limited amount of stack available for local variables. Switch over to using dynamic memory or globals.