Looks like the runtime performance of GSON is quite disappointing.
We might need to evaluate alternative libraries, or possibly reason about using the stream API of GSON. Theoretically we could "hand roll" some of the crucial parts, as some of the requests we generate are well known.
Jackson seems to provide non-blocking parsing as of version 2.9: https://github.com/FasterXML/jackson-core/issues/57 . Caution, the maintainers of some platforms we want to integrate with seem to frown upon the use of Jackson for some reason (securitym API stability maybe?).
Another non-blocking parser is Actson: https://github.com/michel-kraemer/actson
A standard: http://json-b.net/
EDIT: also to be taken into account, it'd be great if the parser was non-blocking. See