You should try using
column-fill: balance;
-moz-column-fill: balance;
-webkit-column-fill: balance;
Source: https://www.w3.org/TR/css-multicol-1/#cf
It doesn't change much about your JSFiddle since columns are filled sequentially with this column-count
CSS property, therefore the order of the elements stay unchanged. So if you do have big images first, and then a column made of small images, you may have columns of different sizes.
The column-fill: balance;
property cannot do magic since it can't change the order.
Use JavaScript if you want to adapt the order of the elements in order to have columns of (more or less) equal length.