At some point you are going to get to the point where using known tricks will hit their limits. The best thing to do at this point is profile your code and see what areas are the bottle-necks based on your specific requirements.
Investigating RAM usage using MAT and Using Traceview: an article on how to use the tools to profile your application.