IBinarySerializable implies you will implement two functions for serialization, so whatever you send in the Serialize is completely up to you. If you write nothing, then it will only send the header for this class so that it knows what type it is. This header is a string of your class name. For example if your class is named "ABC" and it's inside namespace SomeProject, then the sent value is going to be "SentProject.ABC" -- 15 bytes for the data + 1 byte for string identifier + 4 bytes for string length, meaning at least 20 bytes right there.
If you want to send less bytes, either have shorter class names, or simply define your custom classes in TNSerializer. Check TNet.Serialization.GetType, TNet.Serialization.WriteObject, TNet.Serialization.ReadObject. If you implement your class there, you'll drop the header down to 1 byte.