Why is this necessary if SetStringPropertyValue apparently doesn't take ownership of the buffer?