Calling 'OnNpcPlayerTarget' took XmsNot An Issue
My console shows this every 2 minutes or so, is it really needed? Seems like it's kindof a resource hug if it takes 0.27 seconds every time to do something.

Some other plugins show it too every once in a while but not nearly as much as this plugin. I'm not sure how this would affect performance but yeah it shows up too much in my console i'm considering removing it and just using vanish more as an admin but I wanted to make sure first
I'm unsure how to explain this to you. This isn't the plugin doing it. It's unity garbage collection. Maybe @Wulf can explain it better.
In response to Quantum ():
I'm unsure how to explain this to you. This isn't the plugin doing it. It's unity garbage collection...
The [GARBAGE COLLECT] just means that the hook call happened during garbage collection in the game and could have potentially delayed it slightly, not that it caused it. The warning in general can come from a hook taking over 100ms in general, but is generally caused by overall server performance; though can be from the plugin if it is doing a lot in a resource intensive hook.
Ok thanks for your answer but the thing is DontTargetMe does it literally every minute or so while other plugins maybe once every few hours.

But it shouldn't really matter then? It just stands out in my console. I always keep a close eye for errors and stuff and i just see this plugin doing that alot thats why I asked.
In response to Goldie ():
Ok thanks for your answer but the thing is DontTargetMe does it literally every minute or so while o...

It matters because clients will experience this as lag spikes. A lot of plugins generate unnecessary garbage causing the collector to run frequently (and/or for longer?) which might be the cause for your issue, that and/or bad server performance in general. 

If you list your plugins, it'll be easier to help you.

https://unity3d.com/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games


Just a note: 
This plugin will call UserHasPermission hundreds times a second on a moderately populated server, resulting in a decent amount of garbage (someone correct me if I'm wrong):

    [LibraryFunction("UserHasPermission")]
    public bool UserHasPermission(string id, string perm)
    {
      if (string.IsNullOrEmpty(perm))
        return false;
      perm = perm.ToLower();
      UserData userData = this.GetUserData(id);
      if (userData.Perms.Contains(perm))
        return true;
      return this.GroupsHavePermission(userData.Groups, perm);
    }

Could help to add players with the permission to data and use a bool in the hooks, similar to what Vanish does.

Locked automatically