In this scenario you would follow the interface pattern. Where you create an interface class with all of the desired method stubs. You would still perform you Assembly.Load, but you then cast the resulting activated object to your interface class.
I don't have an example in c#, but this vb.net should be easy to follow.
Dim alib As Byte() = System.IO.File.ReadAllBytes(Application.StartupPath & "\\PeriodicMinimumsUtilities.dll")
Dim adeb As Byte() = System.IO.File.ReadAllBytes(Application.StartupPath & "\\PeriodicMinimumsUtilities.pdb")
Dim assembly As System.Reflection.Assembly = System.Reflection.Assembly.Load(alib, adeb)
Dim type As Type = Assembly.GetType("PeriodicMinimumsUtilities.frmPeriodicMinimumsReconcilliation")
Dim obj As Fireblade.POS.Business.IPeriodicMinimumsUtilities = Activator.CreateInstance(type)
Interface:
Public Interface IPeriodicMinimumsUtilities
WriteOnly Property Database() As Meritsoft.GolfRez.Data.Database
Function LoadMinimumsDataSource(ByVal v_fiscalYear As String, ByVal v_fiscalPeriod As Integer) As DataSet
Function GetMinimumsSpent(ByVal v_fiscalYear As String, ByVal v_fiscalPeriod As Integer) As DataTable
Function LoadFiscalPeriodsDataSource(ByVal ImposeLimit As Boolean) As DataSet
End Interface