For the record, there are others uneven subdivisions
http://www.co-de-it.com/wordpress/code/grasshopper-code
This last script has holes but there is less regularity and it is fast !
rectangle packing.gh (14.5 KB)
C# version : rectangle_packing_LEGACY.gh (22.8 KB)
If you want less space between rectangle, change the 10.0 to 100 for example
n_steps = Math.Floor(baseWidth / min_width * 10.0) + 1