Best Memory Optimization Practices

I have a very large workflow with lots of nodes and data. Are there any “best practices” I can utilize to help with my memory usage? All of a sudden I am starting to get the Java Heap error. Cleaning up the amount of rows and columns before that doesn’t seem to make too much of an impact. Other suggestions?