DDOS Mechanism: Improving thread safety & loop speed?
private bool _cycleActive;



You actually don't need this variable. The Task class has a Status property.




Thread.Sleep(2);



And the async/await classic one (like the classic namespace std in c++). You don't want to block your thread with that. Instead, you should use Task.Delay and make your code async




public void Stop()
{
    _cycleActive = false;
}



For stopping you should use the CancellationTokenSource and the CancellationToken. See Task Cancellation.