Property nodes keep pointers to member variables and member functions, these pointers become dangling after desctructor end. Reported by valgrind on my PC build when hle-edit addon was started. Query: json/property/query?query=%2Fapartment%2FdSMeters%2F*()&a=0.9667543321884495&json/property/query?query=%2Fapartment%2FdSMeters%2F(*)
As PropertyNodePtr is shared pointer, the dangling references are possible to exist after destructor end. Unregistering from parent property node fixes the most obvious, easy to reproduce problems.
Classes State and Device do unregister their properties in their destructors.