diff --git a/arctic/store/_ndarray_store.py b/arctic/store/_ndarray_store.py
index <HASH>..<HASH> 100644
--- a/arctic/store/_ndarray_store.py
+++ b/arctic/store/_ndarray_store.py
@@ -191,6 +191,9 @@ class NdarrayStore(object):
 
         data = b''.join(segments)
 
+        # free up memory from initial copy of data
+        del segments
+
         # Check that the correct number of segments has been returned
         if segment_count is not None and i + 1 != segment_count:
             raise OperationFailure("Incorrect number of segments returned for {}:{}.  Expected: {}, but got {}. {}".format(
attempt to reduce memory peak when deserialising data