That's quite specific to shared memory usage. The shared memory is managed by the kernel and the only means of getting a shared memory area for your processes if by asking the kernel by giving him your ID (the key in this case). The processes that should have access to that shared area should always use the same key and they should clean up afterwards. The issue here can be one of the following:
1. Yad didn't clean up the shared memory area when previoulsy running (a fatal process termination like a segmentation fault could be the reason).
2. Yad doesn't use the shared memory already reserved for the given key (no wonder, it's risky, as another process can use the same key, so it's a common practice is to base the key on something more unique like process' ID).
Whatever the case, a reboot resolves the situation, as it reinitializes the kernel and the memory area is no more.