Unmanaged object:
Marshal.SizeOf(object yourObj);
//-----------------------------------------------------
Value Types:
sizeof(object val);
//-----------------------------------------------------
calculate how much memory an object take c#
long size = 0;
object o = new object();
using (Stream s = new MemoryStream()) {
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(s, o);
size = s.Length;
}