Few improvements:

1. Sorts the list before with different IComparer<Rect> to determine the best
2. Visualization
3. Specify height or generate square grids
4. Cleanup