The problem is in below line of code
MailBLOB = CType(TableContainer.Rows(0).Item(0), Byte())
Is there any specific reason why you are converting to byte. What are you trying to do with MailBLOB object. I do not see any further code which explains why MailBLOB is used. If it is not used for any specific purpose then you can keep MailBLOB as string itself.
After looking at your comments, first you can convert the mailblob to byte data using getbytes method
http://www.techrepublic.com/blog/software-engineer/convert-a-string-into-a-byte-array-in-vbnet/#.[
^]
This way you can save data to db. Then to fetch the data you can use below conversion
Byte[] byteBLOBData = new Byte[0];
byteBLOBData = (Byte[])(row["DOCLIST"]);
String s = System.Text.Encoding.UTF8.GetString(byteBLOBData);