CreateInstance instead of calling the constructor

Hi. I've just updated my project from version 2.x to 3.2 and now I have a lot of this warnings:

"myClass" must be instantiated using the ScriptableObject.CreateInstance method instead of new "myClass".

The project works perfectly. My question is why I should call CreateInstance instead of using the constructors, or if I can continue using the constructors without worrying. What is the difference?

Thanks in advance :)

Is "myClass" using MonoBehaviour or is it a helper class? From what I've seen if it's inheriting from MonoBehaviour it's bad practice to use constructors and you want to use Start() or Awake() functions and not use new.