前橋です。

> |[BUG] Segmentation fault とかいって落ちます。Tk と Thread を一緒に使うと
> |よくないのでしょうか。

ところで、Tk と Thread の組み合わせって妙に遅くないですか?

テストプログラム1
----------------------------------------------------------------------
#! /usr/local/bin/ruby

require 'tk'
require 'socket'

sock = TCPsocket.new('www.netlab.co.jp', 80)

sock.write "GET / HTTP/1.0\n\n"

text = TkText.new
text.pack

Thread.start {
  until sock.eof?
    $_ = sock.read(50)
    text.insert 'insert', $_
  end
  #exit
}

Tk.mainloop
----------------------------------------------------------------------

これとほぼ同等で、Gtk を使ったもの↓はずっと速いです。

テストプログラム2
----------------------------------------------------------------------
#! /usr/local/bin/ruby

require 'gtk'
require 'socket'

sock = TCPsocket.new('www.netlab.co.jp', 80)

sock.write "GET / HTTP/1.0\n\n"

window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)
text = Gtk::Text.new
window.add(text)
text.show
window.show

Thread.start {
  until sock.eof?
    $_ = sock.read(50)
    text.insert_text $_, text.get_point
  end
  #exit
}

Gtk::main()
----------------------------------------------------------------------

text.insert..... の部分を削除して、どちらも何も表示させないようにしても
圧倒的に gtk のほうが速いのはかわりません。