Without seeing your code, it is impossible to know precisely what is going on, but don't forget that it also depends on what else you are doing/how you are processing the file. For example, if you are builing an in-memory data structure based on the file contents, you could cause yourself to run out of memory even when processing the file as SAX events!
Are you processing the file/events sequentially, or building up some other structure in memory? Obviously, with a large file, you are better off if you keep only a small amount of "processing data" in memory, too.
All the best,