Hello guys and sorry for the late reply (a lot of things going on simultaneously).
To be honest, using “OnAfterDeserialize” and by its name alone should mean after objects are actually deserialized. I am under the impression that Unity changed something with its Object handling in later Unity versions because this has never been a problem in older versions all this time. In any case and apparently due to how Unity Objects are handled by Unity, I will have to find another place to deserialize the graph and blackboards. This will probably be Awake for MonoBehaviours and OnEnable for ScriptableObject (like graphs). Lazy deserialization is also an option but I would prefer everything to be deserialized “as early as possible”. This will require some very heavy refactoring, but it is currently on the top of the to-do list for sure.