Fix overflow in memory block size computations

* Do the division first. This might change the ratios by 1 * [100,199] = [100,199]
  but we are using millions of bytes so it does not matter much.
* It was unlikely to happen on 64-bit, but very likely on 32-bit!
* See #185.
Adapt GC test to have sensible heap size values