Index: /trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 17438)
+++ /trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 17439)
@@ -1274,3 +1274,16 @@
         }
     }
+
+    /**
+     * Removes all gpx elements
+     * @since 17439
+     */
+    public void clear() {
+        dataSources.clear();
+        layerPrefs.clear();
+        privateRoutes.clear();
+        privateTracks.clear();
+        privateWaypoints.clear();
+        attr.clear();
+    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 17438)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 17439)
@@ -618,3 +618,10 @@
         }
     }
+
+    @Override
+    public synchronized void destroy() {
+        data.clear();
+        data = null;
+        super.destroy();
+    }
 }
