use GridOptimizedMarshaller as memory usage is heavily related to marshaller