[Galaxy S II General] Hacre:
Pretty much, yes. Tweaks to the Android memory manager have a limited, but still relevant, positive effect on low end devices, like, devices with the 200MB of usable RAM or less available to them, trying to run Froyo (or better) to keep the number of background/idle apps to a minimum. You've pretty much got it.

So, to REALLY elaborate for you:

There are 5 main application states in Android, each one has a free memory watermark assigned in the memory manager. There's been more added with Gingerbread if I recall correctly (might have been Froyo) but for the purposes of this explanation, the 5 will do. This means, when the amount of free memory falls below the watermark, apps in X state are killed.

The states are:

1: Active Processes: Active (foreground) processes are those hosting applications with components currently interacting with the user. These are the processes Android is trying to keep responsive by reclaiming resources. There are generally very few of these processes, and they will be killed only as a last resort.

2: Visible Processes: Visible, but inactive processes are those hosting "visible" activities. As the name suggests, visible activities are visible, but they aren't in the foreground or responding to user events. This happens when an activity is only partially obscured (by a non-full-screen or transparent activity). There are generally very few visible processes, and they'll only be killed in extreme circumstances to allow active processes to continue.

3: Started Service Processes: Processes hosting services that have been started. Services support ongoing processing that should continue without a visible interface. Because services don't interact directly with the user, they receive a slightly lower priority than visible activities. They are still considered to be foreground processes and won't be killed unless resources are needed for active or visible processes.

4: Background Processes: Processes hosting activities that aren't visible and that don't have any services that have been started are considered background processes. There will generally be a large number of background processes that Android will kill using a last-seen-first-killed pattern to obtain resources for foreground processes.

5: Empty Processes: To improve overall system performance, Android often retains applications in memory after they have reached the end of their lifetimes. Android maintains this cache to improve the start-up time of applications when they’re re-launched. These processes are routinely killed as required.

The 5 types are reflected in the typical default settings for Android:

# Define the memory thresholds at which the above process classes will
# be killed. These numbers are in pages (4k).
setprop ro.FOREGROUND_APP_MEM 2048
setprop ro.VISIBLE_APP_MEM 3072
setprop ro.PERCEPTIBLE_APP_MEM 4096
setprop ro.HEAVY_WEIGHT_APP_MEM 4096
setprop ro.SECONDARY_SERVER_MEM 6144
setprop ro.BACKUP_APP_MEM 6144
setprop ro.HOME_APP_MEM 6144
setprop ro.HIDDEN_APP_MEM 7168
setprop ro.EMPTY_APP_MEM 8192

So foreground apps get ****canned when the amount of free memory drops below 8MB, and the empty apps (dead apps that are merely cached) get their **** ruined when the amount of free memory falls below 32MB.

32MB. You have to drop to only 32MB free on a device with over 800MB available to the user, where after a day's worth of seriously heavy use I've still got over 350MB free to play with. I'd wager that at least with Gingerbread, you'd kill your battery long before you managed to actually use and allow to idle enough apps to reach that threshold with any kind of actual real world use.

Hopefully that puts into better perspective how worthless this tool is and how stupid the posts defending it are.