While Data_Wrap_Struct is used to wrap C data into a Ruby object, it seems that the memory allocated for sox_sample_t in rsoxbuffer_initialize is not being freed. Similarly, the code doesn't seem to handle the freeing of memory for sox_signalinfo_t, sox_encodinginfo_t, and sox_oob_t.