title: Do classes declared in koin modules referenced by Application so that stay in memory as long as Application lives?
body: <p>Koin provide <code>single</code> and <code>factory</code> to create instance of declared classes.</p>
  
  <p>My colleague argues that Koin creates static instances of those classes and they're not referenced by Application. So they're prone to be garbage-collected or lose control of state when high memory pressure happened in Android system. So we better avoid use Koin if singleton created by koin take up lots of memory.</p>
  
  <p>My question is:</p>
  
  <ol>
  <li>Does classes created by koin single{} referenced by Application? Is there source code I should read first before I dive into koin source code to prove that?</li>
  <li>Does classes created by koin single{} prone to be collected when memory pressure happen in Android? Say if that singleton instance is called SdkManager whose job is to load up 3-5 third-party libraries.</li>
  <li>Is there any initialization method other than <code>single</code> and <code>factory</code>?</li>
  </ol>