http://jacksondunstan.com/articles/3015
https://unity3d.com/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games