In general, when you create method you should be aware about context of your application, also maybe some architectural question.
For example you want to add two numbers
Simple way to use static method in some class.
But the problem is when another method wants to do some actions with result.
Thats why you must get result, and pass it to another method.
Imagine if there are lot of such methods, and your callings will be look like:
and so on.
But you can define class with responsibility of all these operations.
You need only one holder for this simple example:
As you see this code pretty bigger than previous one, but it more understandable.
Perhaps, you must see which approach is better for your program structure.
P.S. As i know, you can't create object without keyword
new. Maybe it possible via reflection API.
P.P.S. Good book about art of programming that describes similar problems
Bob Martin - Clean Code