Index: trunk/src/org/openstreetmap/josm/actions/ValidateAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ValidateAction.java	(revision 14472)
+++ trunk/src/org/openstreetmap/josm/actions/ValidateAction.java	(revision 14473)
@@ -102,4 +102,5 @@
         // Hack - this action should stay forever because it could be added to toolbar
         // Do not call super.destroy() here
+        lastSelection = null;
     }
 
@@ -166,4 +167,5 @@
                 test.endTest();
                 errors.addAll(test.getErrors());
+                test.clear();
             }
             tests = null;
Index: trunk/src/org/openstreetmap/josm/actions/upload/ValidateUploadHook.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/upload/ValidateUploadHook.java	(revision 14472)
+++ trunk/src/org/openstreetmap/josm/actions/upload/ValidateUploadHook.java	(revision 14473)
@@ -72,4 +72,5 @@
                 }
             }
+            test.clear();
         }
 
Index: trunk/src/org/openstreetmap/josm/data/validation/Test.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/Test.java	(revision 14472)
+++ trunk/src/org/openstreetmap/josm/data/validation/Test.java	(revision 14473)
@@ -374,3 +374,10 @@
         return name.compareTo(t.name);
     }
+
+    /**
+     * Free resources.
+     */
+    public void clear() {
+        errors.clear();
+    }
 }
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/PowerLines.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/PowerLines.java	(revision 14472)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/PowerLines.java	(revision 14473)
@@ -1,3 +1,3 @@
-// License: GPL. For details, see LICENSE file.
+    // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.data.validation.tests;
 
@@ -97,4 +97,5 @@
         }
         potentialErrors.clear();
+        powerStations.clear();
         super.endTest();
     }
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/PublicTransportRouteTest.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/PublicTransportRouteTest.java	(revision 14472)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/PublicTransportRouteTest.java	(revision 14473)
@@ -88,3 +88,9 @@
         }
     }
+
+    @Override
+    public void clear() {
+        connectionTypeCalculator.clear();
+        super.clear();
+    }
 }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java	(revision 14472)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java	(revision 14473)
@@ -326,3 +326,11 @@
         return NONE;
     }
+
+
+    /**
+     * Free resources.
+     */
+    public void clear() {
+        members = null;
+    }
 }
