I don't know what examples you're looking at to develop your addin but at glance they appear woefully outdated. For example, your code is using SetAddInInfo(). SetAddInInfoEx() has been available since V20 and SetAddInInfoEx2() has been available since ST7.
My suggestion to people that don't want to use my templates and NuGet packages is to download the SolidEdge.Community.AddIn repository, open SolidEdge.Community.AddIn.sln, execute Registration.bat as an administrator and start debugging the TestAddIn. This allows you to debug my SolidEdge.Community.AddIn.dll and learn how to do these things yourself if you choose to do so.
Developing COM addins in .NET is not easy. Actually can be quite difficult at times hence why I open sourced my code. There is 16 years of my Solid Edge addin knowledge in that code. For example, my SolidEdgeAddIn.cs base class is designed to load the addin into a new and completely separate AppDomain. Long story on why it's important (COM Interop related). People also have fun trying to provide a DLL with native resources for your button images. .NET assemblies don't have these types of native resources by default and Solid Edge requires them for images. That is why I created the EmbedNativeResources project. If you use my templates and NuGet packages, EmbedNativeResources.exe gets executed as a post-build event and does the embedding for you.
Let me know if you have more questions. I'm happy to help in any way that I can.