Codility Cyclic rotation in C#
Good Practices


&#10004; I like the fact you don't rotate if the array's length is a multiplication of K.
&#10004; As you stated in the comments, the second array B gets created too early, since in some occasions it would be created in vain.


Review


The challenge is clearly written for Java:class Solution { public int[] solution(int[] A, int K); }. The provided signature deserves its own review (casing conventions, static members, meaningful member names). However, if you 'cannot' change the signature given to you, I would be consistent and use N instead of len for the array's length.
You sometimes return the provided array and sometimes create a new one. I would make this very clear in the specification. A consumer should know whether or when a copy is returned. This affects further usage of the object.
You should guard against the source array being null.
How would you handle a negative value of K? If you think about it, a left rotation is just the inverse of a right rotation.
Nested statements could have been prevented by inverting the if-statement and exiting early. Less nested statements generally increase readability.
For bigger arrays you should check Buffer.BlockCopy to optimize copying sections of an array to another array. You could see a rotation as copying 2 sections from one array to another given a pivot. Check out this article about the subject.
If you can change the signature, make a static class with static method, use a meaningful method name RotateRight with arguments array and count and make it clear whether in-place rotation is performed or a new array is created.