diff --git a/guest/memory-leaks/pom.xml b/guest/memory-leaks/pom.xml
new file mode 100644
index 0000000000..eada59c5a1
--- /dev/null
+++ b/guest/memory-leaks/pom.xml
@@ -0,0 +1,39 @@
+
+ 4.0.0
+ com.baeldung
+ memory-leaks
+ 0.0.1-SNAPSHOT
+
+
+
+ junit
+ junit
+ 4.12
+
+
+
+
+
+
+ src/main/resources/
+
+ **/*.java
+
+
+
+ src/test/resources/
+
+
+
+
+ maven-compiler-plugin
+ 3.5
+
+
+ 1.8
+
+
+
+
+
\ No newline at end of file
diff --git a/guest/memory-leaks/src/test/java/com/baeldung/Key.java b/guest/memory-leaks/src/test/java/com/baeldung/Key.java
new file mode 100644
index 0000000000..6ae2fe7fcf
--- /dev/null
+++ b/guest/memory-leaks/src/test/java/com/baeldung/Key.java
@@ -0,0 +1,11 @@
+package com.baeldung;
+
+public class Key {
+
+ public static String key;
+
+ public Key(String key) {
+ Key.key = key;
+ }
+
+}
diff --git a/guest/memory-leaks/src/test/java/com/baeldung/MemoryLeaksTest.java b/guest/memory-leaks/src/test/java/com/baeldung/MemoryLeaksTest.java
new file mode 100644
index 0000000000..13052a9487
--- /dev/null
+++ b/guest/memory-leaks/src/test/java/com/baeldung/MemoryLeaksTest.java
@@ -0,0 +1,86 @@
+//package com.baeldung;
+//
+//import java.io.BufferedReader;
+//import java.io.File;
+//import java.io.IOException;
+//import java.io.InputStream;
+//import java.io.InputStreamReader;
+//import java.net.URISyntaxException;
+//import java.net.URL;
+//import java.net.URLConnection;
+//import java.nio.charset.StandardCharsets;
+//import java.nio.file.Files;
+//import java.nio.file.Paths;
+//import java.nio.file.StandardOpenOption;
+//import java.util.ArrayList;
+//import java.util.Map;
+//import java.util.Random;
+//import java.util.Scanner;
+//
+//import org.junit.FixMethodOrder;
+//import org.junit.Test;
+//import org.junit.runner.RunWith;
+//import org.junit.runners.JUnit4;
+//import org.junit.runners.MethodSorters;
+//
+//@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+//@RunWith(JUnit4.class)
+//public class MemoryLeaksTest {
+
+// private Random random = new Random();
+// public static final ArrayList list = new ArrayList(1000000);
+//
+// @Test(expected = OutOfMemoryError.class)
+// public void givenStaticField_whenLotsOfOperations_thenMemoryLeak() throws InterruptedException {
+// while (true) {
+// int k = random.nextInt(100000);
+// System.out.println(k);
+// Thread.sleep(10000); //to allow GC do its job
+// for (int i = 0; i < k; i++) {
+// list.add(random.nextDouble());
+// }
+// }
+//
+// }
+//
+// @SuppressWarnings({ "resource" })
+// @Test(expected = OutOfMemoryError.class)
+// public void givenLengthString_whenIntern_thenOutOfMemory() throws IOException {
+// String str = new Scanner(new File("src/test/resources/large.txt"), "UTF-8").useDelimiter("\\A")
+// .next();
+// str.intern();
+// System.out.println("Done");
+// }
+
+// @Test(expected = OutOfMemoryError.class)
+// public void givenURL_whenUnclosedStream_thenOutOfMemory() throws IOException, URISyntaxException {
+// String str = "";
+// URLConnection conn = new URL("http://norvig.com/big.txt").openConnection();
+// BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
+// while (br.readLine() != null) {
+// str += br.readLine();
+// }
+// Files.write(Paths.get("src/main/resources/"), str.getBytes(), StandardOpenOption.CREATE);
+// }
+//
+// @SuppressWarnings("unused")
+// @Test(expected = OutOfMemoryError.class)
+// public void givenConnection_whenUnclosed_thenOutOfMemory() throws IOException, URISyntaxException {
+// URL url = new URL("ftp://speedtest.tele2.net");
+// URLConnection urlc = url.openConnection();
+// InputStream is = urlc.getInputStream();
+// String str = "";
+// while (true) {
+// str += is.toString()
+// .intern();
+// }
+// }
+//
+// @Test(expected = OutOfMemoryError.class)
+// public void givenMap_whenNoEqualsNoHashCodeMethods_thenOutOfMemory() throws IOException, URISyntaxException {
+// Map