Hi,
Are you using listeners ? if yes you should unregister them from the working memory and apply the dispose method to be sure all memory is ..disposed !
Your file may be big but as binary, you package may not be so big and it depends also of how many objects you inserted in the working memory (StatefullKnowledgeSessions).
Also, I guess your are using jdk 64 bits ? Then you can use more memory then just 1.5 GB.
Your error message is strange. Does it work if you keep all rules but reduce the number of // sessions ?
You should give us more info.