It should help if you do something like:
String days = "Monday";
String hours = "10:00pm";
String minutes = "60";
String seconds = "01";
while(condition){
String str = String.format("%dDays %02d : %02d : %02d",days,hours,minutes,seconds);
}
This will pass the reference to the string instead of taking 32 bits up for each string of each iteration in your loop. If you can't help that your determine your strings in the loop try switching to character or bytes (if possible) that will reduce the amount of memory you use.
If you want to force the garbage collector to run (very unsafe) look here
http://stackoverflow.com/questions/1481178/forcing-garbage-collection-in-java