diff --git a/skl/skl.go b/skl/skl.go
index <HASH>..<HASH> 100644
--- a/skl/skl.go
+++ b/skl/skl.go
@@ -97,6 +97,9 @@ func (s *Skiplist) DecrRef() {
 	// Indicate we are closed. Good for testing.  Also, lets GC reclaim memory. Race condition
 	// here would suggest we are accessing skiplist when we are supposed to have no reference!
 	s.arena = nil
+	// Since the head references the arena's buf, as long as the head is kept around
+	// GC can't release the buf.
+	s.head = nil
 }
 
 func newNode(arena *Arena, key []byte, v y.ValueStruct, height int) *node {
free head pointer (#<I>)

To avoid memory leaks