I eventually figured this out by trial and error - the disjointed Youtube API documentation really didn't help matters!
AuthSub is deprecated, if you go through the hassle of getting an OAuth2 key (which is quite well described in the documentation) you can upload videos using it.
To do so just use the access_token in place of the authsub key in the 'YoutubeRequestSettings' object - as in the below sample:
string myDeveloperKey = "Your developer key here";
string myOAuthKey = "The OAuth key for the target user's account here";
YouTubeRequestSettings settings = new YouTubeRequestSettings("My Uploader App Name", myDeveloperKey, myOAuthKey); // The documentation for this method implies it only accepts an authSub key - it works if you pass your OAuth key
YouTubeRequest request = new YouTubeRequest(settings);
Video newVideo = new Video();
newVideo.Title = "Test Video - ignore me";
newVideo.Tags.Add(new MediaCategory("Autos", YouTubeNameTable.CategorySchema));
newVideo.Keywords = "test 1 , test 2";
newVideo.Description = "test 3 test 4";
newVideo.YouTubeEntry.Private = false;
newVideo.Tags.Add(new MediaCategory("tag 1, tag 2", YouTubeNameTable.DeveloperTagSchema));
newVideo.Private = true; // Make this video private as it's a test
newVideo.YouTubeEntry.Location = new GeoRssWhere(37, -122);
newVideo.YouTubeEntry.MediaSource = new MediaFileSource(@"C:\MyTestVideo.mov", "video/quicktime");
Video createdVideo = request.Upload(newVideo);