I am trying to create a user using C# and the google-admin-directory_v1-rev24-csharp-1.7.0-beta client libraries however I keep geting an exception:
Google.
It doesn't look like that your service account is impersonating any users in this call. When you want to use a service account to create a new user, you need to impersonate as the administrator account (Note: only administrator can create users).
Take a look at this Drive example for domain wide delegation:
https://developers.google.com/drive/delegation
You can see that for the .net portion, it has this extra line:
ServiceAccountUser = userEmail
You need to create a service object authorized with the service account that will acts on behalf of the given user.