What is the difference between Graph database like Neo4J and in-memory databases like Gemfire?

As memory is getting cheaper day by day, we would be able to keep all data in Memory and access at Random Access speeds without using graph databases.
What are pros and cons of Graph DB vs In-Memory NOSQL DB's?

There isn't really a distinction between graph databases and in-memory databases. Neo4j runs great with the entire dataset in memory, so you can use it as an in-memory database.

Because GemFire isn't a native graph database, while you could represent graphs in it, you'll run into scalability issues doing graph type operations with it at a certain size. My understanding is that it's optimized primarily for key operations. For a detailed discussion of why native graph databases have advantages in the graph space: