There is no maximum switch rate, as any time a task blocks, like on a queue or semaphore, or a delay call, you get a task switch. The 1000 Hz tic rate forms a sort of floor for the switch rate as it will check to see if the current task needs to be swapped for another ready task at the same priority level.