This console app demonstrates failing usage of the native timer in librt.so.1 when the .NET managed code debugger is attached.
Happy Case: Run without debugger attached (Right click project and select Debug > Start Without Debugging) and this code will write "In minimal delegate" from the delegate and "SUCCESS!" at the end of Main.
Fail Case: Run with debugger attached (Right click project and select Debug > Start New Instance)
The program outputs strace -p so you can follow the native code calls. Enter this in a container terminal during the first Thread.Sleep to capture the call stack.