I have looked around to find an example of how to take a polyline and create a buffer around it so I end up with a polygon.
So far I found out I need Minkowskis Sums to do so, but I can't get my head around to raw algorithm and translate that in to code.
I would prefer an example in C# or a walkthrough of the algorithm.
Have you tried using the 'Dot Spatial' library from Codeplex?
http://dotspatial.codeplex.com/
That uses Geos & Proj4 internally, which already contain all the functionality you need (Most of the worlds GIS servers & Products are built on these 2 code-bases!)
Failing that, you could use SQlite:
http://sqlite.phxsoftware.com/
and Spatialite:
http://www.gaia-gis.it/spatialite/
Then using ADO.NET code in C# you can use simple GIS SQL Queries to perform your processing EG:
WHich will return a string something like:
That you can then just parse.
No need to re-invent the wheel, when everything you need is readily available.
You could use the OffsetPolygons() function in the Clipper library, but first you'd need to convert the polyline into a polygon. Do this by appending to the polyline a reverse copy of the polyline. But since duplicate vertices aren't allowed the reverse copy must exclude the first and last vertices: v1,v2,...,vn, v(n-1),...,v2.
Here's a sample way to do something like this with the 2D objects already available with the .NET Framework, based off of this link
http://www.charlespetzold.com/blog/2008/04/Rounded-Graphics-in-WPF.html