It isn't a leak I don't think, a bad use of bufferspace, sure, but not a leak. After doing a /clear on all my filled up debug windows, the mem usage stayed the same BUT after letting them fill up some more again, my usage didn't increase, suggesting to me that mIRC just didn't release the memory, but it wont request for more space untill the old memory is filled up. Dropping your buffer down would help after you restart mIRC, unless there is some command to re-allocate the memory usage on the fly.

Also, setting the window buffer to 30000 doesn't mean 30,000 characters, but 30,000 lines, and then it depends on how many characters per line you have as to what the actual buffer size in bytes is, as well as how many control characters per line, as the buffer counts hard wraps as lines, not incoming commands. Anyway, my 6000 buffer is 427KB as a text file (6002 lines in the file, designating start and end of buffer) so at 30,000, each window would be over 2 MB (I am about 110 characters wide, not including control characters in the channel I saved the buffer on)