The check-marathon-task plugin is using the wrong name for the status parameter. The current code is using state=running, which returns all tasks - even those that are not running. The correct way to call this API is to use status=running, which only returns tasks that are in their running state.
This means that a task that is not running (it might be staged) will count as a running task. The expected behavior is that only running tasks are counted.
Additionally, the plugin description says:
This plugin checks that the given Mesos/Marathon task is running properly
In my opinion, the plugin should also check the healthCheckResults for each task and report running but unhealthy tasks as failures. Currently, the health check results are ignored, only the state is considered.