The NoCopy configuration is being disregarded in the readJson function, resulting in continuous copying of the data.
func readJSON(edata []byte) ([]byte, error) {
...
} else if len(s) > 0 && s[0] == '+' {
data = make([]byte, len(s[1:]))
copy(data, s[1:])
} ...
return data, nil
}