Why does my server have thousands of "HIDDEN ONLINE" schedulers?
Converting my comment to answer :
Some one might be running undocumented fn_dump_dblog and it is creating a new hidden SQLOS scheduler and up to three threads, which will not go away (and will not be reused) until a server restart. It is fixed in 2012 + SP2 though.
Also, you can use this query to find out the creation time of schedulers :
 SELECT s.scheduler_id,  s.status, th.started_by_sqlservr, th.creation_time 
FROM sys.dm_os_workers w
JOIN sys.dm_os_schedulers s
ON w.scheduler_address = s.scheduler_address
 JOIN sys.dm_os_tasks t
ON t.task_address = w.task_address
  JOIN sys.dm_os_threads th
ON th.thread_address = w.thread_address
where s.status = 'HIDDEN ONLINE' -- just get the hidden online schedulers for your specific case 
ORDER BY s.scheduler_id