If there are only going to be a limited number of response types, it makes sense to use a factory or factories that have access to a static Gson instance.  Creating a new builder to create a new instance on every response is wasteful.

Gson instances are threadsafe.