Why Unity Memory Profiler show List<int> Managed size is 40 byte

List member is

s_emptyArray ← this is static then no managed size for instance
_items ← reference for int than 8 byte
_size ← 4 byte
_version ← 4 byte
_syncRoot ← 8 byte

than 8 + 4 + 4 + 8 = 24 byte

am i wrong?

1 Like

You are forgetting the 16 byte object header (which includes a pointer to the type info), though I guess we could call that out in the Managed fields UI somehow (even though it’s not a field)