Можно ли неуправляемо создавать потоки?
Теоретически, раз вы создаете форму в том же потоке, в которым с ней работаете - то все нормально, другой вопрос - зачем это делать и чего вы этим добиваетесь. В 98% GUI-приложений весь интерфейс находится в одном потоке и все работает замечательно (если открывается модальное окошко или диалог, оно просто крутит свой собственный цикл сообщений), а вот как раз другие потоки нужны для проведения длительных вычислений и операций ввода-вывода, чтобы GUI-поток не останавливался и мог спокойно и дальше ловить мессаджи от операционки на перерисовку и пользовательские действия. Так что если это не эксперимент в вакууме, то нужно основательно подумать, зачем вам такие финты - управлять несколькими гуевыми потоками нужно очень аккуратно.
C# управляемый язык.
unsafe - делает доступ к неуправляемому коду.
Выше у вас создается поток со слабой ссылкой, вы не сможете к нему обратиться после его создания. Но это не делает его не управляемым.
Создание потока дорогостоящая операция, без лишней нужды лучше не создавать, если создали то и удалить не забудьте, или сделайте его дочерним по отношению к главному.
В данном примере попробуйте открыть и закрыть форму About 100 раз, что будет?
Используйте TPL (task, threadpool).