LucienR The only thing that works is to set bela's block size to 128.
The code on Bela as you wrote it sends out one OSC message per block, so with a block size of 128 that is about 344 messages per second, which seems to be a value that your host can handle. You can rewrite the code so that it sends messages at a given interval, independent of the block size if you wish.
LucienR doesn't go up when things go wrong...
what do you mean when things go wrong? Is this the CPU load on Bela or on the host? If this refers to the mode switches on Bela, then yes it's normal that Bela's CPU usage does not increase when they happen. The audio on Bela may have a glitch at that point, but it seems that you are not using it?
MIDI over USB works if you have a Bela image v0.3 or above (you do if you got the board after November 2017). You should see the Bela showing up as a MIDI device on the host. Go to Audio MIDI setup and you should see the device there as "USB Midi" device. You can rename it if that is convenient to you. Anyhow, you will then be able to open it from Pd.
If you put this bit of code in your Pd patch, it should take care of opening the interface
hw:0,0,0 on Bela, which is the one that shows up on your host, so you can then use
[ctlout] to send messages to the host.
Fully working example (run this on Bela):