Classes use less memory for methods because: 1) Class methods are defined on the prototype and shared across instances, 2) Factory function methods are created anew for each object, 3) With many instances, classes can be more memory efficient, 4) The prototype chain is more efficient for method lookup, 5) This is particularly important for applications creating many instances, 6) However, factory functions have their own advantages like encapsulation and closure-based privacy, so each approach has its place.