computation happens inside janusgraph (not the storage backend) and janusgraph runs as part of gremlin server
yes, a query and its computations run on a single gremlin server instance
None. If you run a g.V().count(), that is a full table scan, gremlin server will not run out of memory, but if you have billions of vertices the query will take days. For the kinds of workloads that you worry about, JanusGraph has some initial support for OLAP type operations in which all data are loaded by a spark cluster and computation results are returned to the janusgraph instance.