Explain GC, singleton, and OOP principles | SoFi Interview Question