Tried it many times to confirm, patched rmodbus to use rubyserial and the memory leak went away. So it looks to be a problem with serialport, maybe with ruby's File implementation. I have really no idea how it's leaking in the c code?