The code in ResizeNearestNeighbor does all the same no matter of image size. So if there is a memory leak, it will show up anyway.

How do you find that you have a memory leak? Are you disposing resources you allocate (temporary images)? What may happen is that you don't dispose temporary images and so memory usage grows faster than garbage collector cleans up everything.