I would provide my source, but its like 2,000 to 3,000 lines long and I believe I may be getting this because of a bug in the External Library I use to read .xlsx files. Emailed the makers, waiting for a response.
EDIT: Here is the email response:
SmartXLS use DOM to parse xml files embed in the xlsx/xlsm zip file.The DOM parser in java is very poor performance in memory using,it will throw exception if there are many xml content.The solution is add more memory to the java runtime engine.
We also had another version which is more efficient in parsing xml(use less memory and more quick),but it must run on Java5 and above.We can also provide it to licensed user(no trial available,same function but only different xml parser).