TSoftObjPtr still loads asset into memory

As far as I’m aware TSoftObjPtr should have exact same behavior as blueprint SoftObject Reference meaning it is not loading asset it is pointing to unless explicitly called to load it. I’ve used it with success inside blueprints reducing blueprint load time (in editor) verifying its reduced size using Size Map tool. I was expecting exactly same behavior in C++ when storing assets as UProperties and using TSoftObjPtr. Unfortunately when I’ve changed my assets from being referenced as e.g. USkeletalMesh* to TSoftObjPtr size map haven’t changed at all.

Is there something I miss or do C++ version of soft object references have different behavior than I was expecting?