EVERYTHING that is allocated is zeroed out first in debug mode. If you have constructors, those are called after.
It’s not a UObject or UE thing. It’s a debug mode compiler thing. It is injected directly into all your code. Even stack space is zeroed out. This is so that all variables have a known value. Otherwise, it makes debugging a nightmare.