wait_time = 10

class Big
  def initialize(value)
    @data = [value]*4000
  end
end

puts "Program Start"
sleep wait_time

puts "Starting to use memory"
many_bigs = Array.new(4000) { |i| Big.new(i) }
puts "Finished using memory"
sleep wait_time

puts "Releasing memory"
many_bigs = nil
sleep wait_time

puts "Collecting garbage"
GC.start
puts "Garbage collected"
sleep wait_time