When setting blob metadata you may come across the problem where a name or value contains an invalid control character. If you look at the official site you will see that metadata keys must adhere to the C# variable naming rules for identifiers. However nowhere on the site does it tell you what the value of the key value pair can be. If you get this error try removing any symbols. The character which caused my problem was a hyphen – . Please leave a comment if you find any more characters that are not allowed as metadata values.
Thanks
EDIT: I found this post which seems to suggest that url encoding will solve the issue.
EDIT V2: Uri.EscapeUriString(“Value”); and Uri.UnescapeDataString(“Blobvalue”); Will do the trick just escape on the way in and Unescape on the way out.