Find SuburbName from latlong or location
There are lots of nice things in your code for a beginner, congratulations.
Configuration file
Right now, you obfuscated your API key so that we don't have it, that's logical.
But it shouldn't be hardcoded in your code either. This is a bad practice for multiple reasons

What if I want to use your code? I'd be using you API key, this is danngerous. I should be able to set mine without having to recompile
Your API key would be stored in your source control (if you have one) and could be accessible to anyone decompiling your code. If there are costs related to Maps API, things could go wrong very quickly.

An API key should always be in some sort of configuration file. Either an app.config, web.config or some other external configuration manager.
Code repetition
Between the two overrides of GetSuburbName, there are parts of code that are duplicated. You did a good job of extracting FindSuburbName(GeoCodeResponse result) as a private method though.
I would go a little further. The only difference between the two methods is the parameters list so, as an example, I'd change :
if (!string.IsNullOrEmpty(location))
{
    using (var clientService = new HttpClientService&lt;GeoCodeResponse&gt;(&quot;https://maps.googleapis.com&quot;))
    {
        var param = new Dictionary&lt;string, string&gt;();
        param.Add(&quot;address&quot;, location);
        param.Add(&quot;components&quot;, &quot;country:AU&quot;);
        param.Add(&quot;result_type&quot;, &quot;locality&quot;);
        param.Add(&quot;key&quot;, GoogleApiKey);
        var apiResult = clientService.GetAPI(&quot;maps/api/geocode/json&quot;, param);
        return FindSuburbName(apiResult);
    }
}
return string.Empty;

To :
if (!string.IsNullOrEmpty(location))
{
    var param = new Dictionary&lt;string, string&gt;();
    param.Add(&quot;address&quot;, location);
    param.Add(&quot;components&quot;, &quot;country:AU&quot;);
    param.Add(&quot;result_type&quot;, &quot;locality&quot;);
    param.Add(&quot;key&quot;, GoogleApiKey);

    return FindSuburbName(param);
}
return string.Empty;

Then, you could have your API call in the common method.
C# tips
You can use the Dictionary Initializer if you have a recent version of C#.
As an example :
var param = new Dictionary&lt;string, string&gt;();
param.Add(&quot;address&quot;, location);

becomes :
var param = new Dictionary&lt;string, string&gt;
{
    {&quot;address&quot;, location},
    //etc
}

Regarding this line :
var component = addressObj.AddressComponents.Where(x =&gt; x.Types.Contains(&quot;locality&quot;)).FirstOrDefault();

There is an override for FirstOrDefaut that takes a Predicate (a condition), which means your code could be :
var component = addressObj.AddressComponents.FirstOrDefault(x =&gt; x.Types.Contains(&quot;locality&quot;));

@FabienH. @FabianH. already pointed out the other points I wanted to cover regarding C#.