The last 2 lines
byte[] data = (byte[])dt.Rows[0][0];
richTextBox1.Rtf = System.Text.Encoding.Unicode.GetString(data);
Should be
richTextBox1.Rtf = dt.Rows[0][0].ToString();
There is no need to try to convert the string to a byte array and back to a string.