I am not sure about your problem. But maybe you can try to use gc(). In my program, memory useage continue to increase. But after I use gc() a lot of memroy been released. Even I don't use gc() manually, system automatically call it when free memory used out. By the way, review your program to ensure that there is no any object that never used again but still in reference. Such objects isn't collected by gc and may cause memory leak.
Hope it helps.
Acutally, system may not immedially call gc() after you set objects to null. Unless you manually call gc(). To my knowledge, only when there is not enough memory would the system call gc() to collect those unused objects and to release memory. That is why someone saw memory usage increasing and then reduce suddenly.